首页 > 学院 > 开发设计 > 正文

Mybatis环境配置

2019-11-06 06:42:38
字体:
来源:转载
供稿:网友

开发Mybatis的环境搭建

在我们使用mybatis之前我们要知道,mybatis是什么?简单地说,mybatis就是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架在我们使用mybatis之前,我们需要做些什么呢?大体上,我总结了五步:

一、导入jar架包。

在导入jar架包的时候,最少要导入下面三个架包:log4j-1.2.17.jarmybatis-3.2.8.jarMySQL-connector-java-5.1.7-bin.jar但是,为了以后和SPRing整合等通常加入以下jar包:asm-3.3.1.jarc3p0-0.9.1.2.jarcglib-2.2.2.jarcommons-logging-1.1.1.jarjavassist-3.17.1-GA.jarlog4j-1.2.17.jarmybatis-3.2.8.jarmybatis-spring-1.2.2.jarmysql-connector-java-5.1.7-bin.jar(连接MySQL数据库的架包,使用什么数据库,就用什么架包)

二、新建持久化类和数据表

1、新建持久化类[java] view plain copy print?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();      }  }  
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();        }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表