下载ibatis包 以ibatis-2.3.4.726为例
导入ibatis-2.3.4.726.jar和mysql驱动包
新建Student类
package com.zns.domain; public class Student { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
新建Student.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap> <insert id="addStudent" parameterClass="com.zns.domain.Student"> insert into student(name) values (#name#) <selectKey resultClass="int" keyProperty="id"> select @@identity as inserted <!-- 这里需要说明一下不同的数据库主键的生成,对各自的数据库有不同的方式: --> <!-- mysql:SELECT LAST_INSERT_ID() AS VALUE --> <!-- mssql:select @@IDENTITY as value --> <!-- oracle:SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL --> <!-- 还有一点需要注意的是不同的数据库生产商生成主键的方式不一样,有些是预先生成 (pre-generate)主键的,如Oracle和PostgreSQL。 有些是事后生成(post-generate)主键的,如MySQL和SQL Server 所以如果是Oracle数据库,则需要将selectKey写在insert之前 --> </selectKey> </insert> <delete id="deleteStudentById" parameterClass="int"> delete from student where id=#id# </delete> <update id="updateStudent" parameterClass="com.zns.domain.Student"> update student set name=#name# where id=#id# </update> <select id="selectAllStudent" resultClass="com.zns.domain.Student"> select * from student </select> <select id="selectStudentById" parameterClass="int" resultClass="com.zns.domain.Student"> select * from student where id=#id# </select> <select id="selectStudentByName" parameterClass="String" resultClass="com.zns.domain.Student"> select id,name from student where name like '%$name$%' </select> </sqlMap>
在src下新建ibatis-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <!-- 使用JDBC的事务管理 --> <transactionManager type="JDBC"> <!-- 数据源 --> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/> <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/mydb1"/> <property name="JDBC.Username" value="root"/> <property name="JDBC.Password" value="123456"/> </dataSource> </transactionManager> <sqlMap resource="com/zns/domain/Student.xml"/> </sqlMapConfig>
扫描二维码关注公众号,回复:
5171627 查看本文章
简单测试
Reader reader = Resources.getResourceAsReader("ibatis-config.xml"); SqlMapClient sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); // //增加 // Student model=new Student(); // model.setName("张三"); // Object object = sqlMapClient.insert("addStudent", model); // System.out.println("添加学生信息的返回id是:" + object); // // 删除 // Object object = sqlMapClient.delete("deleteStudentById", 1); // System.out.println("受影响的行数:" + object); // // 修改 // Student model = new Student(); // model.setId(6); // model.setName("张三"); // Object object = sqlMapClient.update("updateStudent", model); // System.out.println("受影响的行数:" + object); // 查询 // List<Student> list1 = sqlMapClient.queryForList("selectAllStudent"); // List<Student> list2 = sqlMapClient.queryForList("selectStudentByName", "李"); //Student student = (Student) sqlMapClient.queryForObject("selectStudentById", 10);