• Mybatis从零开始创建


    1. 前期准备:

    Mysql数据库

     2. IDEA中创建

    1. 引入maven

    • mybatis
    • junit
    • mysql-connector-java
    1. <dependency>
    2. <groupId>org.mybatisgroupId>
    3. <artifactId>mybatisartifactId>
    4. <version>3.5.7version>
    5. dependency>
    6. <dependency>
    7. <groupId>junitgroupId>
    8. <artifactId>junitartifactId>
    9. <version>4.12version>
    10. <scope>testscope>
    11. dependency>
    12. <dependency>
    13. <groupId>mysqlgroupId>
    14. <artifactId>mysql-connector-javaartifactId>
    15. <version>8.0.16version>
    16. dependency>

    2. mybatis核心配置文件

    • mybatis-config.xml
    • jdbc.properties

       重点是environments和mappers标签

    1. "1.0" encoding="UTF-8" ?>
    2. configuration
    3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    5. <configuration>
    6. <properties resource="jdbc.properties">properties>
    7. <typeAliases >
    8. <typeAlias type="com.zt.mybatis.pojo.User" alias="abc">typeAlias>
    9. <typeAlias type="com.zt.mybatis.pojo.User">typeAlias>
    10. <package name="com.zt.mybatis.pojo"/>
    11. typeAliases>
    12. <environments default="development">
    13. <environment id="development">
    14. <transactionManager type="JDBC">transactionManager>
    15. <dataSource type="POOLED">
    16. <property name="driver" value="${jdbc.driver}"/>
    17. <property name="url" value="${jdbc.url}"/>
    18. <property name="username" value="${jdbc.username}"/>
    19. <property name="password" value="${jdbc.password}"/>
    20. dataSource>
    21. environment>
    22. environments>
    23. <mappers>
    24. <package name="com.zt.mybatis.mapper"/>
    25. mappers>
    26. configuration>
    1. jdbc.url=jdbc:mysql://localhost:3306/ibatis?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8
    2. jdbc.username=root
    3. jdbc.password=xxxxx
    4. jdbc.driver=com.mysql.cj.jdbc.Driver

    3. Mapper接口

    1. public interface UserMapper {
    2. /**
    3. *
    4. *当调用此方法进行插入的时候,根据接口名找到对应的映射文件,再找到映射文件中对应标签中与接口的方法名相同的id名
    5. */
    6. /**
    7. * 添加用户信息
    8. * @return
    9. */
    10. Integer insertUser();
    11. }

    4. sql映射文件Mapper(和上一步mapper接口命名一致)

    • 接口的全类名和映射文件的namespace一致
    • 接口的方法的方法名和映射文件中sql标签的id一致
    1. "1.0" encoding="UTF-8" ?>
    2. mapper
    3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    5. <mapper namespace="com.zt.mybatis.mapper.UserMapper">
    6. <insert id="insertUser" >
    7. INSERT INTO t_user VALUES (NULL , 'admin', '123456', 23, '男', '12345@qq.com');
    8. insert>
    9. mapper>

    5. 测试

    1. public class MybatisTest {
    2. @Test
    3. public void testInsert() throws IOException {
    4. // 获取核心配置文件的输入流
    5. InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
    6. // 获取SqlSessionFactoryBuilder 对象 -> 工厂构建器
    7. SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    8. // 创建 SqlSession 工厂 -> 创建会话
    9. SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream);
    10. // 获取 会话 对象 -> MyBatis 提供的操作数据库的对象
    11. //如果没写commit 就不会自动提交
    12. SqlSession sqlSession = sqlSessionFactory.openSession();
    13. // 获得Mapper接口的代理类 -> 操纵Mapper类执行数据库操作
    14. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    15. // 执行SQL操作
    16. Integer rows = userMapper.insertUser();
    17. // User user = userMapper.selectUser();
    18. // System.out.println("rows = " + user);
    19. System.out.println("rows = " + rows);
    20. // 提交事务 -> 事务是默认开启的
    21. sqlSession.commit();
    22. // 关闭资源
    23. sqlSession.close();
    24. }
    25. }

  • 相关阅读:
    【HTML5期末作业】用HTML+CSS一个兰州交通大学官网网站
    ArcGIS QGIS学习二:图层如何只显示需要的部分几何面数据(附最新坐标边界下载全国省市区县乡镇)
    史上最全的Redis基础+进阶项目实战总结笔记
    苹果+甲基化=切开不变色
    mapreduce搭建
    C++ primer 查漏补缺九:第六章 函数
    apk反编译修改教程系列-----任意修改apk版本号 版本名 防止自动更新【二】
    Electron学习笔记(四)
    mysql高阶语句
    Java中的抽象类和接口
  • 原文地址:https://blog.csdn.net/qq_41950447/article/details/127654729