第一章-初识mybatis框架

飞一样的编程
飞一样的编程
擅长邻域:Java,MySQL,Linux,nginx,springboot,mongodb,微信小程序,vue

分类: ssm 专栏: ssm框架课 标签: mybatis

2022-11-25 16:42:13 750浏览

第一章-初识mybatis框架

1. 搭建mybatis步骤

1.下载mybatis-3.5.1.jar

可以从maven中央仓库去下载需要的jar.https://mvnrepository.com/

2.将所需jar文件导入工程

3.编写MyBatis核心配置文件

<?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>

    <properties resource="database.properties">



    </properties>
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>

    <typeAliases>
<!--        <typeAlias type="com.jf3q.part1.pojo.SysUser" alias="sysUser"/>-->

        <package name="com.jf3q.part1.pojo"/>


    </typeAliases>
    <environments default="dev">
        <environment id="dev">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>


        <environment id="test">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/cvs_db?characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
<!--        <mapper resource="com/jf3q/part1/dao/SysUserDao.xml"/>-->
        <package name="com.jf3q.part1.dao"/>
    </mappers>
</configuration>

4.创建实体类(POJO)

@Data//实现省略get  set 方法  toString
@AllArgsConstructor//全参构造
@NoArgsConstructor//无参
public class SysUser {

    private Long id;
    private String account;
    private String realName;
    private String password;
    private Integer sex;
    private String birthday;
    private String phone;
    private String address;
    private Long roleId;
    private Long createdUserId;
    private Date createdTime;
    private Long updatedUserId;
    private Date updatedTime;

}

5.定义DAO层Mapper接口

public interface SysUserDao {

    int count();
    List<SysUser> getUserList();
}

6.定义SQL映射文件

<?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="com.jf3q.part1.dao.SysUserDao">
<select id="count" resultType="int">
         select  count(1) from t_sys_user
    </select>
<select id="getUserList" resultType="sysUser">
         select  * from t_sys_user
    </select>
</mapper>

7.创建测试类

  • 读取MyBatis核心配置文件
  • 创建SqlSessionFactory实例
  • 创建SqlSession实例
  • 创建Mapper实例
  • 执行SQL映射文件中的SQL语句
public class SysUserDaoTest {

    @Test
    public void count() {
        SqlSession sqlSession = null;
        try {
            /*1.读取MyBatis核心配置文件到字符流*/
            Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");
            /*2.创建SqlSessionFactory实例*/
            SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
            /*3.创建SqlSession实例*/
            sqlSession = sessionFactory.openSession();
            /*4.创建Mapper实例*/
//            SysUserDao userDao = sqlSession.getMapper(SysUserDao.class);
            int  count = sqlSession.selectOne("com.jf3q.part1.dao.SysUserDao.count");
            /*5.执行SQL映射文件中的SQL语句*/
//            System.out.println("用户总数:"+userDao.count());
            System.out.println("用户总数:"+count);


        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(sqlSession != null){
                sqlSession.close();
            }

        }
    }
    @Test
    public void getAlltest() {
        SqlSession sqlSession = null;
        try {
            sqlSession= MybatisUtils.getSqlSession();
            /*4.创建Mapper实例*/
//            SysUserDao userDao = sqlSession.getMapper(SysUserDao.class);

            List<SysUser> userList= sqlSession.selectList("com.jf3q.part1.dao.SysUserDao.getUserList");

            /*5.执行SQL映射文件中的SQL语句*/
//            List<SysUser> userList = userDao.getUserList();
            userList.forEach(u -> System.out.println(u));



        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            MybatisUtils.closeSqlSession(sqlSession);

        }
    }
}

2.讲课视频教程

https://www.bilibili.com/video/BV1TR4y1Z7np

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695