首先我们需要知道在Java中连接数据库的底层就是JDBC,但是JDBC存在诸多弊端,如硬编码,代码重复度高,SQL参数固定,属于底层技术,结果集映射麻烦等。为了解决这些弊端,官方为我们提供了一些ORM模型框架,而Mybatis就是一款半自动的ORM模型。下面我们一起学习了解
1.什么是Mybatis:
Mybatis是一款ORM(对象结果集映射)模型,支持定制SQL,存储过程以及高级映射,可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJO映射成数据库中的记录
2.Mybatis和Hibernate的区别:(半自动化指需要手写SQL,全自动不用手写)
·Hibernate属于全自动化ORM模型,Mybatis属于半自动化ORM模型
·Hibernate简化dao层,不用考虑SQL语句的编写和结果映射,重点放在业务逻辑上;而Mybatis需要手写SQL语句以及结果映射。
·Hibernate是一个重量级的框架,内部生成SQL语句,反射操作太多,导致性能下降;Mybatis是一个轻量级的框架,需要手写SQL语句,有较少的反射操作
·Hibernate不方便做SQL优化,遇到较复杂的SQL语句需要绕过框架实现复杂,对多字段的结构进行部分映射困难;Mybatis不仅可以做SQL优化还可以SQL与java分离,还可以自行编写映射关系,复杂的SQL语句Mybatis效率更高
Mybatis优势:可以进行更细致的SQL优化,
Hibernate:dao层开发简单,Mybatis需要维护SQL和结果映射,Hibernate数据库移植性好
2.Mybatis环境搭建:注意数据库环境必须完好
第一步:下载Mybtais软件包和依赖包:
Mybatis3.5.2 百度网盘分享链接:https://pan.baidu.com/s/1vP4W2jCU633RB_o9MnA4PA?pwd=1111 提取码: 1111
也可通过官方地址下载:https://mybatis.org/mybatis-3/
3.Mybatis包解压缩后的目录结构介绍;
重点:lib文件夹下的所有jar包和Mybatis-3.5.2.jar :搭建Mybatis环境jar包
Mybatis-3.5.2.pdf:Mybatis的官方使用文档
4.创建项目架构(java普通项目即可)并导入jar包:
并在项目下建立一个与src目录同级的lib包,将所有的jar包复制进去,并add build path
同时将连接数据库的jar:mysql-connector-java-xxx.jar一并添加(此处未分享,可取maven中央仓库,或官方网站下载)
5.创建配置文件,并放入src目录下:mybatis-config.xml
注意:此时数据的连接驱动版本和数据库用户名以及密码的更改
此时Mybatis的环境已经搭建完毕。下面我们进行测试
<?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>
<!-- 和spring整合后 environments配置将废除 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<transactionManager type="JDBC" />
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/myschool?serverTimezone=GMT" />
<property name="username" value="数据库用户名" />
<property name="password" value="数据库密码" />
</dataSource>
</environment>
</environments>
<mappers>
<!--文件路径 / 划分,有后缀:com/ape/mapper/StudentMapper.xml -->
<mapper resource="com/ape/mapper/StudentMapper.xml" />
</mappers>
</configuration>
6.测试Mybatis环境是否正确搭建:
1.创建bean包下的实体类:
public class Student {
private int sid;
private String sname;
private Date birthday;
private String ssex;
private int classid;
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSsex() {
return ssex;
}
public void setSsex(String ssex) {
this.ssex = ssex;
}
public int getClassid() {
return classid;
}
public void setClassid(int classid) {
this.classid = classid;
}
public Student(int sid, String sname, Date birthday, String ssex, int classid) {
super();
this.sid = sid;
this.sname = sname;
this.birthday = birthday;
this.ssex = ssex;
this.classid = classid;
}
public Student() {
super();
}
@Override
public String toString() {
return "Student [sid=" + sid + ", sname=" + sname + ", birthday=" + birthday + ", ssex=" + ssex + ", classid="
+ classid + "]";
}
2.创建Mapper包下的Mapper映射文件:(包含SQL语句,id:唯一标识,resultType:结果集映射类型)
<?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="test">
<!--
sqlMapper 文件 执行方法,和sql语句映射
-->
<!--类路径 .分割, 无后缀 : com.ape.bean.Student-->
<select id="findStudentAll" resultType="com.ape.bean.Student">
select * from student
</select>
</mapper>
3.创建Test测试类:
public static void main(String[] args) {
try {
//1.加载配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//2.创建工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//3.执行sql
//执行对象
SqlSession sqlSession = factory.openSession();
List<Student> stulist = sqlSession.selectList("findStudentAll");
//输出list
stulist.forEach(System.out::println);
//4.释放连接
sqlSession.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
4.运行结果:由结果可知,搭建环境成功,获取数据库表的全部信息
此处,我们对搭建mybatis环境作以总结:
1.先下载依赖包
2.导包,并添加至环境中
3.创建主配置文件。
好了,mybatis的环境搭建分享至此,希望对大家有所帮助