搭建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 @   和哗  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示