Mybatis的配置以及增删改查

1.添加mybatis的依赖

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.7</version>
    </dependency>


    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.18</version>
    </dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.12</version>
    </dependency>
  </dependencies>

2.对核心文件(mybatis-config.xml)进行配置

2.1数据库的配置文件

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
username=root
password=admin

2.2核心配置文件

<?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="aaa.properties"/>

    <typeAliases>
        <!--
        typeAlias:设置某个类型别名
          属性:
          type:设置需要设置的类型的别名
          alias:设置某个类型的别名,如果不进行设置,默认为类的别名,不区分大小写
          <typeAlias type="org.example.po.User" alias="User"></typeAlias>
        -->
        <!--最常用的方式,将包下的所有的类都设置为别名-->
        <package name="org.example.po"/>
    </typeAliases>
    
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <!--<mapper resource="mappers/UserMapper.xml"/>-->
        <!--
        直接将所有的映射文件引入进来
        1.mapper接口所在的包与映射文件的包名字一致
        2.mapper接口的名字与映射文件一致
        -->
        <package name="org.example.mapper"/>
    </mappers>
</configuration>

3.对映射文件进行配置(对数据库的操作主要在此完成)

<?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="org.example.mapper.UserMapper">

    <insert id="insertUser">
        insert into user values(null,'张三','1234',12,'男','9876877@qq.com')
    </insert>

    <update id="updateUser">
        update user set username='李四' where id=3
    </update>

    <delete id="deleteUser">
        delete from user where id=2
    </delete>

    <select id="getUserId" resultType="org.example.po.User">
        select * from user where id=1
    </select>

    <select id="getAllUser" resultType="user">
        select *from user
    </select>
</mapper>

4.类的接口

public interface UserMapper {
    /**
     * mybatis面向接口编程中的两个一致
     * 1.映射文件中的namespace与mapper接口中全类名保持一致
     * 2.映射文件中的SQL语句中的id要与mapper接口中的方法名保持一致
     */
    int insertUser();

    void updateUser();

    void deleteUser();

    User getUserId();

    List<User> getAllUser();
}

5.测试类中的内容

 @Test
    public void testAdd() throws IOException {
        //加载核心配置文件
        InputStream is= Resources.getResourceAsStream("mybatis-config.xml");
        //获取SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
        //获取sqlSessionFactory
        SqlSessionFactory sessionFactory=sqlSessionFactoryBuilder.build(is);
        //获取SqlSeeion
        SqlSession sqlSession=sessionFactory.openSession(true);
        //获取mapper接口对象
        UserMapper mapper=sqlSession.getMapper(UserMapper.class);
        //测试功能
        int result=mapper.insertUser();
        //提交事务
        //sqlSession.commit();
        System.out.println("result:"+result);
    }

6.log4j配置文件中的内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >

    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <param name="Encoding" value="UTF-8"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
        </layout>
    </appender>

    <logger name="java.sql">
        <level value="debug"/>
    </logger>

    <logger name="org.apache.ibatis">
        <level value="info"/>
    </logger>
    <root>
        <level value="debug"/>
        <appender-ref ref="STDOUT"/>
    </root>

</log4j:configuration>

7.项目中的总体结构 alt

全部评论

相关推荐

回家当保安:复旦✌🏻,佬你的简历感觉挺好的,寒假日常hc比较少。佬可以过完年之后再试试,日常实习hc比较充足
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务