(Mybatis笔记)Mybatis配置文件和映射模板——SqlMapConfig.xml和Mapper.xml

目录

一、模板样式

        (1)Mybatis主配置文件模板

        (2)Mybatis映射文件模板 

二、IDEA配置主配置模板

三、IDEA使用主配置模板

四、IDEA配置映射模板

五、IDEA使用映射模板

六、另附mysql数据库jdbc配置文件模板

        (1)mysql 5

        (2)mysql 8 +

七、总结


一、模板样式

        (1)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>
    <!-- 1.读取属性配置文件xxx.properties -->
    <!--resources:从resources目录下找指定名称的文件加载,url:使用绝对路径加载属性文件-->
    <properties resource="jdbc.properties"/>

    <!-- 2.设置日志在控制台输出 (数据源+事务提交状态+SQL+入参+出参+连接池等信息)-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

    <!-- 3.注册实体类别名 -->
    <typeAliases>
        <!-- 单个注册(实体类多时,都需依次注册)-->
        <!-- <typeAlias type="org.dhrj.zs.entity.Student" alias="student"/>-->
        <!-- 批量注册,别名规范 = 实体类名驼峰格式-->
        <package name="com......entity"/>
    </typeAliases>

    <!-- 4.配置数据库连接 default:通过id值去指定数据库配置-->
    <environments default="company">
        <!-- 公司的数据库配置 -->
        <environment id="company">
            <!-- 配置事务管理器
            type:指定事务管理的方式
            "JDBC":事务控制程序员处理
            "MANAGED":事务控制由容器管理(Spring)
            -->
            <transactionManager type="JDBC"/>
            <!-- 配置数据源
            type:指定配置方式
            "JNDI":java命名目录接口,在服务器端进行数据库连接池的管理
            "POOLED":使用数据库连接池
            "UNPOOLED":不使用数据库连接池
            -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driverClassName}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
        <!-- 家的数据库配置 -->
        <environment id="home">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED"/>
        </environment>
    </environments>

    <!-- 5.注册xxxMapper.xml文件
        resource:从resources目录下找指定名称的文件注册
        url:使用绝对路径注册
        class:动态代理方式下的注册
    -->
    <mappers>
        <!-- 单个xml注册-->
        <!-- <mapper class="com.dhrj.zs.mapper.CustomerMapper"/>-->
        <package name="com......mapper"/>
    </mappers>

</configuration>

        说明:以上配置文件必要参数自己手动更改即可,如项目工程的包名、数据库连接用户名、密码等配置信息。 

        (2)Mybatis映射文件模板 

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

二、IDEA配置主配置模板

        (1)左上角——>File——>settings..——>Editor——>File and Code Templates

        (2)鼠标单击Files下的“+” 号,新增自定义模板,NameSqlMapConfigExtensionxmlFileNameSqlMapConfig.xml,粘贴配置模板,点击应用,完成配置。 


三、IDEA使用主配置模板

        说明:3个步骤搞定新建问题。

        结论:MyBatis核心主配置文件快捷生成,无须再次配置数据库开发环境以及各类映射参数。


四、IDEA配置映射模板

        (1)左上角——>File——>settings..——>Editor——>File and Code Template

        (2)鼠标单击Files下的“+” 号,新增自定义模板,NameXXXMapperExtensionxmlFileName不填,(因为Mapper映射文件开发中是存在多个,新建时手动输入即可)粘贴配置模板,点击应用,完成配置。  


五、IDEA使用映射模板


六、另附mysql数据库jdbc配置文件模板

        (1)mysql 5

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&useSSL=false&characterEncoding=utf8
jdbc.username=数据库登录用户名
jdbc.password=数据库登录密码

        (2)mysql 8 +

jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
jdbc.username=数据库登录用户名
jdbc.password=数据库登录密码

        说明:IDEA配置JDBC配置文件方式请参考“”和“”Mybatis配置步骤。


 

七、总结

仅自己学习记录,如有错误,敬请谅解~,谢谢~~~

ChitGPT: 您好!您想了解有关MyBatis实现数据库增删改查的两种方式的信息,是吗? 基于XML配置的实现方式可以通过在Mapper.xml文件中写SQL语句并且在SqlMapConfig.xml文件中指定数据源和Mapper文件的路径来实现。而基于注解的实现方式则是在Mapper接口中使用注解来实现。 以下是基于XML配置的实现步骤: 1. 在SqlMapConfig.xml中配置数据源和Mapper文件路径: ``` <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/testdb"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers> </configuration> ``` 2. 在Mapper.xml文件中配置SQL语句: ``` <mapper namespace="com.example.UserMapper"> <select id="selectUserById" resultType="com.example.User"> SELECT * FROM User WHERE id = #{id} </select> <insert id="insertUser" parameterType="com.example.User"> INSERT INTO User (id, name, sex, classno, age) VALUES (#{id}, #{name}, #{sex}, #{classno}, #{age}) </insert> <update id="updateUser" parameterType="com.example.User"> UPDATE User SET name = #{name}, sex = #{sex}, classno = #{classno}, age = #{age} WHERE id = #{id} </update> <delete id="deleteUserById"> DELETE FROM User WHERE id = #{id} </delete> </mapper> ``` 3. 在Java代码中获取SqlSession并执行SQL语句: ``` SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); User user = new User(); user.setId("123"); user.setName("张三"); user.setSex("男"); user.setClassno("1班"); user.setAge(20); userMapper.insertUser(user); //插入数据 userMapper.selectUserById("123"); //查询数据 userMapper.updateUser(user); //更新数据 userMapper.deleteUserById("123"); //删除数据 sqlSession.commit(); sqlSession.close(); ``` 基于注解的实现方式则可以在Mapper接口中使用注解来直接指定SQL语句,以下是一个示例: ``` public interface UserMapper { @Select("SELECT * FROM User WHERE id = #{id}") User selectUserById(String id); @Insert("INSERT INTO User (id, name, sex, classno, age) VALUES (#{id}, #{name}, #{sex}, #{classno}, #{age})") void insertUser(User user); @Update("UPDATE User SET name = #{name}, sex = #{sex}, classno = #{classno}, age = #{age} WHERE id = #{id}") void updateUser(User user); @Delete("DELETE FROM User WHERE id = #{id}") void deleteUserById(String id); } ``` 然后在Java代码中也可以直接调用相应的方法,不再需要获取SqlSession。 希望这些信息能对您有所帮助!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电竞丶小松哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值