深入浅出JAVA|深入浅出JAVA MyBatis-快速入门

目录

  • 创建项目前的环境搭建
  • 简介
  • 特点
  • (开始)创建Maven项目,导入依赖
    • 创建一个新的Maven项目
  • (开始)在数据库中创建表
    • 创建表详细信息
      • 从 XML 中构建 SqlSessionFactory
        • 总结:

          创建项目前的环境搭建 本篇使用工具:
          1、JDK:jdk1.8
          2、Mysql l数据库 :mysql-5.7.31-winx64
          3、Maven 开发工具 :apache-maven-3.8.1
          【深入浅出JAVA|深入浅出JAVA MyBatis-快速入门】4、IDEA开发工具: IntelliJ IDEA 2020.1.3 x64
          在这里我们使用 MyBatis 开发一个简单的 Java 项目完成增删改查(默认你已安装JDK和MySQL及会使用Maven和IDEA的基本操作)

          简介 什么是 MyBatis?
          MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

          特点 1.简单易学本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
          2.灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
          解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
          (1)提供映射标签,支持对象与数据库的orm字段关系映射
          (2)提供对象关系映射标签,支持对象关系组建维护
          (3)提供xml标签,支持编写动态sql

          (开始)创建Maven项目,导入依赖
          创建一个新的Maven项目
          第一步:
          深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片

          第二步:
          深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片

          第三步:
          深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片

          第四步
          深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片

          第五步
          深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片

          所需依赖
          直接放到 pom.xml中即可
          junitjunit4.11testorg.mybatismybatis3.5.1mysqlmysql-connector-java5.1.9src/main/java**/*.properties**/*.xmlfalse


          (开始)在数据库中创建表 创建 users 表
          表名 :users
          userld :iduserName : 姓名userword : 密码sex : 性别email :邮箱


          创建表详细信息 深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片

          添加几条假数据
          深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片

          创建实体类
          包名
          深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片

          给实体类添加 有参,无参方法,get,set方法,toString方法
          package com.guanshiang.pojo; //实体类public class Users {private Integer userId; private String userName; private String userword; private String sex; private String email; public Users() {}public Users(Integer userId, String userName, String userword, String sex, String email) {this.userId = userId; this.userName = userName; this.userword = userword; this.sex = sex; this.email = email; }public Integer getUserId() {return userId; }public void setUserId(Integer userId) {this.userId = userId; }public String getUserName() {return userName; }public void setUserName(String userName) {this.userName = userName; }public String getUserword() {return userword; }public void setUserword(String userword) {this.userword = userword; }public String getSex() {return sex; }public void setSex(String sex) {this.sex = sex; }public String getEmail() {return email; }public void setEmail(String email) {this.email = email; }@Overridepublic String toString() {return "Users{" +"userId=" + userId +", userName='" + userName + '\'' +", userword='" + userword + '\'' +", sex='" + sex + '\'' +", email='" + email + '\'' +'}'; }}

          创建对应的接口,以及映射,xml文件
          接口:
          package com.guanshiang.mapper; import com.guanshiang.pojo.Users; import java.util.List; //接口 操作Users表public interface UsersMapper {//增加一条int addUsers(Users users); //删除一条int deleteUsersById(int id); //修改一条int updateUsers(Users users); //查询Users表的所有数据List queryUsers(); //查询Users一条Users queryUsersByid(int id); }

          映射xml 文件
          select * from users


          从 XML 中构建 SqlSessionFactory 以下来自Mybatis官方文档
          每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。 SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。 从 XML 文件中构建 SqlSessionFactory 的实例非常简单,建议使用类路径下的资源文 件进行配置。 但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符 串或 file:// URL 构造的输入流。MyBatis 包含一个名叫 Resources 的工具类,它包含 一些实用方法,使得从类路径或其它位置加载资源文件更加容易。
          String resource = “org/mybatis/example/mybatis-config.xml”; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build (inputStream);
          XML 配置文件中包含了对 MyBatis 系统的核心设置,包括获取数据库连接实例的数据 源(DataSource)以及决定事务作用域和控制方式的事务管理器 (TransactionManager)。后面会再探讨 XML 配置文件的详细内容,这里先给出一个 简单的示例:
          创建XML配置文件
          深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片

          内容如下:
          千万注意:下面连接数据库信息,要写你本地的信息。千万注意:下面连接数据库信息,要写你本地的信息。千万注意:下面连接数据库信息,要写你本地的信息。

          注意:看文件是否正确

          在测试类中测试
          在test中创建 测试类 Test01
          package com.guanshiang; import com.guanshiang.pojo.Users; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; public class Test01 {@Testpublic void test() throws IOException {//访问mybatis 读取student数据//1、定义mybatis主配置文件的名称,从类路径的根开始(target/clasess)String config="mybatis.xml"; //2、读取这个config表示的文件InputStream in = Resources.getResourceAsStream(config); //3、创建SqlSessionFactoryBuider对象SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //4、创建SqlSessionFactory对象SqlSessionFactory factory = builder.build(in); //5、【重要】获取SqlSession对象,从SqlSessionFactory中获取SqlSessionSqlSession sqlSession = factory.openSession(); //6、【重要】指定要执行的sql语句的标识。sql映射文件中的namecapce + "." + 标签的id值String sqlId = "com.guanshiang.mapper.UsersMapper"+"."+"queryUsers"; //7、执行sql语句,通过sqlId执行List users = sqlSession.selectList(sqlId); //8、输出for (Users u:users){System.out.println(u); }//9、关闭sqlSession对象sqlSession.close(); }}

          运行结果:
          Users{userId=2, userName='管世轩', userword='1234', sex='男', email='21@qq.com'}Users{userId=3, userName='管世盎', userword='weqrwr', sex='男', email='2722696413@qq.com'}Users{userId=4, userName='管世千', userword='guanshiang', sex='男', email='1234@qq.com'}Users{userId=10, userName='花花', userword='123456', sex='女', email='2722696413@qq.com'}Users{userId=11, userName='李博', userword='asdfasf', sex='男', email='2722696413@qq.com'}

          总体目录
          深入浅出JAVA|深入浅出JAVA MyBatis-快速入门
          文章图片


          总结: 本次没有采用Mybatis工具类等。

          如果想完成增删改查等,只需要

          先写接口,在写对应的sql映射文件.xml

          在测试类中测试即可,改变 6、7、8步骤即可

          接口已在上面写好。

          本篇就先完成一个查询。
          备注:感谢前辈们提供的学习资源,
          本片借鉴于 :MyBatis官网文档
          本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

            推荐阅读