Mybatis-第一篇最简单的mybatis例子

时间:2019-08-12
本文章向大家介绍Mybatis-第一篇最简单的mybatis例子,主要包括Mybatis-第一篇最简单的mybatis例子使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、使用jdbc创建的最简单的mybatis例子。目录结构如下。

2、添加数据库对象Java bean--Emp.java

package com.lfy.bean;

import java.util.Date;

public class Emp {

    private Integer empno;
    private String ename;
    private String job;
    private Integer mgr;
    private Date hireDate;
    private Integer sal;
    private Integer comm;
    private Integer deptno;
    
    public Integer getEmpno() {
        return empno;
    }
    public void setEmpno(Integer empno) {
        this.empno = empno;
    }
    public String getEname() {
        return ename;
    }
    public void setEname(String ename) {
        this.ename = ename;
    }
    public String getJob() {
        return job;
    }
    public void setJob(String job) {
        this.job = job;
    }
    public Integer getMgr() {
        return mgr;
    }
    public void setMgr(Integer mgr) {
        this.mgr = mgr;
    }
    public Date getHiredate() {
        return hireDate;
    }
    public void setHiredate(Date hiredate) {
        hireDate = hiredate;
    }
    public Integer getSal() {
        return sal;
    }
    public void setSal(Integer sal) {
        this.sal = sal;
    }
    public Integer getComm() {
        return comm;
    }
    public void setComm(Integer comm) {
        this.comm = comm;
    }
    public Integer getDeptno() {
        return deptno;
    }
    public void setDeptno(Integer deptno) {
        this.deptno = deptno;
    }
    
    @Override
    public String toString() {
        
        return "User=[empno="+empno+
                    ",ename="+ename+
                    ",job="+job+
                    ",mgr="+mgr+
                    ",hiredate="+hireDate+
                    ",sal="+sal+
                    ",comm="+comm+
                    ",deptno="+deptno+"]";     
    }
}

3、添加与这张表操作有关的mapper--empMapper.xml

<?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-->
<mapper namespace="com.lfy.mapping.empMapper">
    <select id="getEmp" parameterType="int" resultType="com.lfy.bean.Emp">
        select * from emp where empno=#{empno}
    </select>
</mapper>

4、将mapper注册到mybatis配置文件,同时添加数据库连接字符串--conf.xml

<?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="oracle.jdbc.OracleDriver" />
                <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
                <property name="username" value="scott" />
                <property name="password" value="scott" />
            </dataSource>
        </environment>
    </environments>
    
    <mappers>
        <!-- 注册empMapper.xml文件-->
        <mapper resource="com/lfy/mapping/empMapper.xml"/>
    </mappers>
    
</configuration>

5、添加主测试类--MybatisTest.java

package com.lfy.main;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.lfy.bean.Emp;

public class MybatisTest {

    public static void main(String[] args) {

        //mybatis的配置文件
        String resource = "conf.xml";
        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
        InputStream is = MybatisTest.class.getClassLoader().getResourceAsStream(resource);
        //构建sqlSession的工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
        //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
        //Reader reader = Resources.getResourceAsReader(resource); 
        //构建sqlSession的工厂
        //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        //创建能执行映射文件中sql的sqlSession
        SqlSession session = sessionFactory.openSession();
        /**
         * 映射sql的标识字符串,
         * com.lfy.mapping.empMapper是empMapper.xml文件中mapper标签的namespace属性的值,
         * getEmp是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
         */
        String statement = "com.lfy.mapping.empMapper.getEmp";//映射sql的标识字符串
        //执行查询返回一个唯一user对象的sql
        Emp emp = session.selectOne(statement, 7839);
        System.out.println(emp);
    }

}

6、运行结果

原文地址:https://www.cnblogs.com/ZeroMZ/p/11341276.html