认识Mybatis和搭建Mybatis初始环境(Java)

首先我们需要知道在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的环境搭建分享至此,希望对大家有所帮助

 

 

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cph_507

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值