企业级框架 数据库管理 Hibernate、MyBatis、Spring Data JPA、MyBatis Plus 1 MyBatis MyBatis 是目前主流的 ORM 框架,Apache ORM:Object Relationship Mapping 对象关系映射 把面向对象的编程语言和关系性数据库进行映射 把 Java 和 MySQL 进行映射 MyBatis 以前叫 iBatis 1.1 MyBatis 的优势 极大简化 JDBC 代码的开发 简单易上手、具有很强的灵活性 SQL 写到 XML 中,实现和 Java 代码的解耦合 支持动态 SQL,可以根据具体业务灵活实现需求 1.2 MyBatis 的缺点 相比于 Hibernate,开发者需要完成更多的工作,定 义 SQL,完成结果集和实体类的匹配。 要求开发人员具备一定的 SQL 编写能力。 数据库移植性较差,因为 SQL 依赖于底层数据库的, 如果要进行数据库迁移,部分 SQL 需要重新编写。 1.3 MyBatis 的使用 Maven:管理 jar 的工具 Maven 提供了一个远程仓库,Java 生态中所有框架的 jar 包依赖都会上传到远程仓库, 开发者需要哪个 jar 只需要通过简单的配置从远程仓库 下载 jar 到本地即可使用。 导入 jar 的顺序: 1、pom.xml 配置你需要的 jar 2、会在本地仓库进行查找,如果本地仓库存在,则直接 导入 3、如果本地仓库没有这个 jar,则需要联网去远程仓库 下载 首先需要在本地配置 Maven 环境 1、下载 Maven 文件 2、配置环境变量 Maven 换源 更换远程仓库数据源 更换为国内的阿里云镜像仓库,下载速度会很快 1.4 使用 Maven 搭建 MyBatis 项目 pom:project object model 工程对象模型 jar 包管理全部通过修改 pom.xml 来实现 1、pom.xml 添加依赖 2、创建实体类 3、配置数据源,config.xml
org.mybatis mybatis 3.5.7
mysql mysql-connectorjava 8.0.25 package com.southwind.entity; import lombok.Data; @Data public class User { private Integer id; private String name; private Integer money; } 4、调用 API 完成操作 使用原生接口 <?xml version="1.0" encoding="UTF-8"?>
第一步、创建 Mapper 文件 UserMapper.xml 第二步、config.xml 注册 UserMapper.xml 第三步、调用原生接口执行 SQL 获取结果 <?xml version="1.0" encoding="UTF-8"?> select * from user where id = #{id}
package com.southwind.test; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory ; import org.apache.ibatis.session.SqlSessionFactory Builder; import java.io.InputStream; public class Test { public static void main(String[] args) { //加载MyBatis配置文件 InputStream inputStream = Test.class.getClassLoader().getResourceAsSt ream("config.xml"); //构建SqlSessionFactoryBuilder SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); SqlSessionFactory factory = builder.build(inputStream); //获取SqlSession SqlSession sqlSession = factory.openSession(); String statement = "com.southwind.mapper.UserMapper.get"; Object o = sqlSession.selectOne(statement, 1); 注意: 1、Maven 默认 JDK 是 1.5,所以需要手动进行升级 2、默认无法读取 src 路径下的 XML 文件,需要手动进 行修改 System.out.println(o); } }
org.apache.maven.plugins maven-compilerplugin 1.8 1.8 utf-8 Mapper 代理实现自定义接口 src/main/java **/*.xml
|