import java.util.Date;public class Student { private Integer id; private String lastName; private String email; private Date birth; // 提供对应的set/get方法 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getBirth() { return birth; } public void setBirth(Date birth) { this.birth = birth; } //有参无参构造器 public Student(Integer id, String lastName, String email, Date birth) { super(); this.id = id; this.lastName = lastName; this.email = email; this.birth = birth; } public Student() { super(); }}2、在数据库中,建立数据表[sql] view plain copy print?create database MybatisDB charset=utf8; use MybatisDB; CREATE TABLE students( id INT AUTO_INCREMENT PRIMARY KEY, last_name VARCHAR(20), email VARCHAR(20), birth DATE )charset=utf8;create database MybatisDB charset=utf8;use MybatisDB;CREATE TABLE students( id INT AUTO_INCREMENT PRIMARY KEY, last_name VARCHAR(20), email VARCHAR(20), birth DATE )charset=utf8;三、加入 MyBatis 配置文件
加入位置:创建的位置(src下)文件的名称(一般是mybatis-config.xml)mybatis-config.xml内容:
[html] view plain copy print?<?xml version=“1.0” encoding=“UTF-8” ?> <!DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config 3.0//EN” “http://mybatis.org/dtd/mybatis-3-config.dtd”> <configuration> <environments default=“development”> <environment id=“development”> <transactionManager type=“JDBC” /> <dataSource type=“POOLED”> <property name=“driver” value=“$${driver}” /> <property name=“url” value=“${url}” /> <property name=“username” value=“${username}” /> <property name=“passWord” value=“${password}” /> </dataSource> </environment> </environments> <mappers> <mapper resource=“org/mybatis/example/BlogMapper.xml” /> </mappers> </configuration><?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> <mappers> <mapper resource="org/mybatis/example/BlogMapper.xml" /> </mappers></configuration>四、加入 MyBatis 映射文件
创建位置:对应持久化类的包下映射文件名称:简单类名+Mapper映射文件的内容:[html] view plain copy print?<?xml version=“1.0” encoding=“UTF-8” ?> <!DOCTYPE mapper PUBLIC ”-//mybatis.org//DTD Mapper 3.0//EN” “http://mybatis.org/dtd/mybatis-3-mapper.dtd”> <!– mapper 需要配置 namespace, 用来唯一的标识该 配置文件. 和 id 有相同的作用 –> <mapper namespace=“com.zuxia.model.StudentMapper”> <!– 配置一个 select 节点,id:用于表示该节点,用于调用该节点;resultType:返回的类型是什么 –> <select id=“selectStudent” resultType=“com.zuxia.model.Student”> <!–可以使用别名解决类中的属性名和表中的列名不一致的问题–> select id,last_name lastName,email,birth from students where id = #{id} </select> </mapper><?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- mapper 需要配置 namespace, 用来唯一的标识该 配置文件. 和 id 有相同的作用 --><mapper namespace="com.zuxia.model.StudentMapper"> <!-- 配置一个 select 节点,id:用于表示该节点,用于调用该节点;resultType:返回的类型是什么 --> <select id="selectStudent" resultType="com.zuxia.model.Student"> <!--可以使用别名解决类中的属性名和表中的列名不一致的问题--> select id,last_name lastName,email,birth from students where id = #{id} </select></mapper>五、5、通过 MyBatis API 操作数据表新建一个测试类或Main方法
[java] view plain copy print?String resource = “mybatis-config.xml”; InputStream inputStream = Resources.getResourceAsStream(resource); SqlsessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //获取SqlSession SqlSession openSession = sqlSessionFactory.openSession(); try { //第一个参数:StudentMapper的namespace + 节点的id值 //第二个参数:要查询的是哪条记录 Student student = openSession.selectOne(”com.zuxia.model.StudentMapper.selectStudent”,50); System.out.println(student); }finally{ //关闭 openSession.close(); }String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //获取SqlSession SqlSession openSession = sqlSessionFactory.openSession(); try { //第一个参数:StudentMapper的namespace + 节点的id值 //第二个参数:要查询的是哪条记录 Student student = openSession.selectOne("com.zuxia.model.StudentMapper.selectStudent",50); System.out.println(student); }finally{ //关闭 openSession.close(); }
新闻热点
疑难解答