mybatis

天大地大妈咪最大 提交于 2020-02-29 12:27:15

mybatis:主要解决数据持久化的问题

使用方式: 引入mybatis的依赖 + 数据库的驱动

在这里插入图片描述

官网下载 Mybatis 框架:https://mybatis.org/mybatis-3/

MyBatis的工作原理:

在这里插入图片描述

开发流程:

1、创建Emp的DAO接口

public interface  EmpDao {
    public List<Emp> findAll();
    public Emp selectEmpByNO(Integer empno);

}

2、在src目录下创建mybatis的配置文件 mybatis-config.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="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/lanqiao"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
       <mapper resource="org/lanqiao/dao/EmpDao.xml"/>
    </mappers>
</configuration>

3、创建所需的SQL映射文件 EmpDao.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="org.lanqiao.dao.EmpDao">
    <select id="selectEmpByNO" resultType="org.lanqiao.pojo.Emp">
        select * from emp  where empno=#{empno}
  </select>
</mapper>

4、测试

public class MyabtisTest {
    public static void main(String[] args) throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();
        EmpDao dao = session.getMapper(EmpDao.class);
        Emp emp = dao.selectEmpByNO(1001);
        System.out.println(emp);
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!