一、创建工程和数据库
1.工程名:ibatisdemo1 数据库名:ibatis 创建表:student CREATE TABLE `student` ( `sid` int(11) NOT NULL, `sname` varchar(30) DEFAULT NULL, `major` varchar(30) DEFAULT NULL, `birth` date DEFAULT NULL, `score` decimal(10,0) DEFAULT NULL, PRIMARY KEY (`sid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 添加测试数据 insert into `student`(`sid`,`sname`,`major`,`birth`,`score`) values (1,'ss','ff','2014-03-06','22'); insert into `student`(`sid`,`sname`,`major`,`birth`,`score`) values (2,'vv','ee','2014-03-05','33');二、添加相关jar 1.在项目中创建lib目录 /lib 2.在lib目录下添加jar包 mysql-connector-java.jar ibatis-2.3.3.720.jar junit-4.4.jar三、添加配置文件 1.在项目中创建conf目录 /conf 2.在conf目录添加属性文件 属性文件名称:SqlMap.properties 内容: driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/ibatis username=root password=root 3.在conf目录添加配置文件 配置文件名称:SqlMapConfig.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> <!-- 加载连接数据属性文件 --> <properties resource="SqlMap.properties"/> <!-- 配置事务 --> <transactionManager type="JDBC" commitRequired="false"> <!-- 配置数据源 --> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="${driver}"/> <property name="JDBC.ConnectionURL" value="${url}"/> <property name="JDBC.Username" value="${username}"/> <property name="JDBC.Password" value="${password}"/> </dataSource> </transactionManager> </sqlMapConfig> 四、创建与数据库表中相关的javabean和映射文件 1.在src下创建包 cn.jbit.domain 2.在包下创建类 类名:Student.java 内容: public class Student { private Integer sid; private String sname; private String major;//主修专业 private Date birth; private float socre; // get and set 省略 } 3.在包下创建映射文件 映射文件名: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> <typeAlias alias="Student" type="cn.jbit.domain.Student"/> <!-- 根据id查询 --> <select id="selectStudentById" resultClass="Student" parameterClass="int"> SELECT * FROM student WHERE sid=#sid# </select> </sqlMap> 4.在核心配置文件中添加引用映射文件 <!-- 加载映射文件 --> <sqlMap resource="cn/jbit/domain/Student.xml"/> 五、设计DAO层 接口:IStudentDao.java public interface IStudentDao { /** * 根据id查询 * @param id * @return */ public Student select(int id); } 实现类:StudentDaoImpl.java public class StudentDaoImpl implements IStudentDao{ private static SqlMapClient sqlMapClient; static{ try { //加载配置文件 Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml"); //实例化SqlMapClient sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader); //关闭 reader.close(); } catch (IOException e) { e.printStackTrace(); } } /** * 根据id查询学生信息 */ @Override public Student select(int id) { Student student = null; try { student = (Student) sqlMapClient.queryForObject("selectStudentById", id); } catch (SQLException e) { e.printStackTrace(); } return student; } }六、设计SERVICE层 接口:IStudentService.java public interface IStudentService { /** * 根据id查询 * @param id * @return */ public Student findById(int id); } 实现类:StudentServiceImpl.java public class StudentServiceImpl implements IStudentService { private IStudentDao studentDao = new StudentDaoImpl(); @Override public Student findById(int id) { return studentDao.select(id); } }七、测试 1.在项目中创建test目录 /test 2.在test目录下创建包 cn.jbit.junit 3.在包下创建测试类 类名:StudentTest.java 内容: public class StudentTest { IStudentService studentService = new StudentServiceImpl(); /** * 根据id查询 */ @Test public void testSelectById(){ Student student = studentService.findById(1); System.out.println(student.getSname()); } }