搭建MyBatis工程

快速搭建MyBatis工程

第一步:创建一个maven的工程

这里使用maven创建MyBatis工程

第二步:导入相关依赖

需要导入MyBatis工程中对应的依赖,以及后期所需要的依赖

<dependencies>
        <!--mybatis的依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.9</version>
        </dependency>
        <!--mysql的依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>
        <!--lombok依赖[1]idea安装lombok插件 [2]引入依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
        </dependency>
        <!--junit单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!--日志log4j依赖-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
    </dependencies>

注意一点:每次导入依赖时,都需要刷新一下maven

第三步:设置实体类

根据数据库的列名与表名设计实体类

数据库的相关信息:(表名Role)

 实体类:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Role {
    private Integer id;
    private String role_name;
    private String role_code;
    private String description;
}

注意:

①这里的数据库列名要与实体类的属性名一致

②这里基本数据类型改成对应的包装类型

第四步: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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!--数据库驱动器-->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!--数据库的连接路径-->
                <property name="url" value="jdbc:mysql://localhost:3306/day124?serverTimezone=Asia/Shanghai"/>
                <!--用户账号-->
                <property name="username" value="root"/>
                <!--用户密码-->
                <property name="password" value="1qaz2wsx"/>
            </dataSource>
        </environment>
    </environments>
    <!--引入对应的映射文件注意:改为自己的映射文件-->
    <mappers>
        <!--第一种是根据资源文件进行映射,一般用于通过xml文件进行映射-->
        <mapper resource="mapper/RoleMapper.xml"/>
        <!--第二种是根据类名进行映射,注意:类名需要全称,一般用于通过注解形式映射-->
        <mapper class="com.hrc.dao.MyRoleDao"/>
    </mappers>
</configuration>

第五步:配置日志文件

由于maven中导入log4j依赖,这里将介绍如何使用日志输出。

首先在resources文件下创建一个名称为log4j.properties文件

文件中添加日志信息

log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUGdriver

第六步:设置映射接口和映射文件

映射接口:

//习惯将自己写方法,然后通过接口来调用方法
public interface RoleDao {
    //比如写查询所有的方法
    public List<Role> queryAll();
}

映射文件:

一般写在resources包下创建一个mapper包存放映射文件

 映射文件内容:

<?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">
<!--下面是映射关系的书写-->
<!--namespace:这里是映射接口对应的地址全称-->
<mapper namespace="com.hrc.dao.RoleDao">
<!--id:是RoleDao的一个方法名-->
    <!--
        <insert>:这个标签主要用来添加操作 
    -->
    <insert id="insert">
        insert  into t_role values (null,#{roleName},#{roleCode},#{description})
    </insert>
    <!--
        <update>:这个标签主要用来修改操作 
    -->
    <update id="update">
        update t_role set role_name=#{roleName},role_code=#{roleCode},description=#{description} where id=#{id}
    </update>
    <!--
        <delete>:这个标签主要用来删除操作 
    -->
    <delete id="delete">
        delete from t_role where id = #{id}
    </delete>
    <!--
        <select>:这个标签主要用来查询 
    -->
    <select id="selectOne" resultType="com.hrc.entity.Role">
        select * from t_role where id=#{id}
    </select>
</mapper>

注意一点:写好映射文件需要MyBatis配置文件写好对应的映射关系

比如:

第七步:测试

public class RoleTest {
    @Test
    public void queryTest() throws Exception{
        //读取 MyBatis配置文件资源
        //import org.apache.ibatis.io.Resources; 注意这里导入的包必须是ibatis下的
        Reader resourceAsReader = Resources.getResourceAsReader("mybatis.xml");
        //创建SqlSessionFactory工厂(根据读取mybatis配置文件进行创建)
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
        //开启SqlSession会话对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //通过映射关系,获取映射文件中对应的接口
        RoleDao roleDao = sqlSession.getMapper(RoleDao.class);
        //通过接口调用相关查询方法
        List<Role> roleList = roleDao.queryAll();
        //将结果输出
        System.out.println("roleList = " + roleList);
    }
}

效果展示:

 

posted @ 2024-01-27 10:40  和哗  阅读(20)  评论(0编辑  收藏  举报