mybatis 基本使用

186 阅读1分钟

总共这么几步: (可能不太准确)

1 创建 mapper接口 在接口中添加对应的方法

2 创建对应的实体类用于映射

3 创建mapper映射文件,在其中配置并编写sql(maven项目)这里一般情况下会在resource文件夹下创建,并且与 mapper接口和映射文件的全类名一致,下面将mybatis-config配置文件会讲到为什么

4 创建mybatis-config.xml 配置文件 并配置

重点在第 3 , 4 步

mybaits-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>
    <!--引入properties文件,此后可以在当前文件中使用${key}的方式访问-->
    <properties resource="jdbc.properties"/>
    <!--类型别名-->
    <typeAliases>
        <!--如果不使用alias属性,它会有一个默认值,就是类名 且不区分大小写 -->
        <!--<typeAlias type="com.csy.mabatis.pojo.User" alias="adc"></typeAlias>-->
        <!-- 一般这样使用
         通过包来设置类型别名,指定包下所有的类型都拥有默认的类型别名,即包名不区分大小写
        -->
        <package name="com.csy.mybatis.pojo"/>
    </typeAliases>

    <!-- 配置连接数据库的环境-->
    <environments default="development">
        <environment id="development">
            <!--设置事务管理器
                 type值有 JDBC/MANAGED
                 JDBC表示使用JDBC中原生的事务管理方式
                 MANAGED表示:被管理,例如Spring
            -->
            <transactionManager type="JDBC"/>
            <!--type 设置数据源的类型
               POOLED: 使用数据库连接池
               UNPOOLED: 表示不使用数据库连接池
               JNDI: 表示使用上下文中的数据源
            -->
            <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>
    </environments>
<!--引入mybaits的映射文件-->
    <mappers>
        <!--<mapper resource="mappers/UserMapper.xml"/>-->
        <!--为了解决多个映射文件的问题
            条件: 1  mapper接口和映射文件所在的全类名必须一致
                  2 mapper接口的名字和映射文件必须一致
        -->
        <package name="com.csy.mybatis.mapper"/>
    </mappers>
</configuration>

image.png

如上图mapper接口和映射文件所在的全类名必须一致,用于简化 mybatis-config.xml中引入映射文件这一步

mapper映射文件

mapper映射文件 主要目的是让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="com.csy.mybatis.mapper.UserMapper">
   <!--int insertUser()-->
    <!--
     两个一致:
      mapper接口的全类名和映射文件的namespace一致
      mapper接口中的方法名要个映射文件中sql标签的id保持一致
    -->
    <insert id="insertUser">
        insert into t_user values (null,'admin','123',24,'男','123@qq.com')
    </insert>

    <select id="getUser" resultType="com.csy.mabatis.pojo.User">
        select * from t_user where id = 3
    </select>

    <!--List<User> getAllUsers()-->
    <select id="getAll" resultType="User">
        select * from t_user
    </select>
</mapper>

关于sql标签后面会详细讲讲它的属性及使用方法。