Mybait笔记: 2 - 入门与整合MySQL实战

这篇博客介绍了如何入门MyBatis并结合MySQL进行实战。首先,文章讲解了开发环境的准备,包括MyBatis的版本和依赖管理。接着,详细阐述了MyBatis的基本组成,如SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession和Mapper。然后,通过实例展示了构建SqlSessionFactory、配置文件、编写POJO类、映射接口和XML映射文件的过程。最后,文章演示了如何通过Java客户端与数据库通信,进行数据的插入、查询和删除操作,并给出了部分测试结果。
摘要由CSDN通过智能技术生成

开发环境准备

Mybaits 版本发布地址: https://github.com/mybatis/mybatis-3/releases
使用MyBaits,我们只需要在classpath里添加mybaits-x.x.x.jar
如果使用Maven,那么添加下列依赖到pom.xml:

<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybaits</artifactId>
	<version>3.4.6</version>
</dependency>

比如这里笔者使用的3.4.6版本 这样配置

MyBaits基本组成

  • SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成SqlSessionFactory(工厂接口)
  • SqlSessionFactory:生成SqlSession的一个接口
  • SqlSession:建立数据库连接,直接发送SQL去执行并返回结果,或用于获取Mapper接口。
  • SQL Mapper:Java接口与XML(或注解)构成的组件,负责给出SQL和映射规则。

构建SqlSessionFactory

MyBatis应用应该以SqlSessionFactory的实例为中心。SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder获得。Mybaits提供了XML或者代码的方式来创建SqlSessionFactory。使用XML更加便于日后修改,省去了重编译的维护困扰。

XML建议放在项目的类完整路径里,Mybaits的工具类Resources提供了载入XML配置文件的方法,比如使用InputStream对象从文件路径或URL里获取资源配置:

String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory 
= new SqlSessionFactoryBuilder().build(InputStream)

XML的配置例子:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
	PUBLIC "-//mybaits.org//DTD Config 3.0//EN"
	"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC"/>
			<dataSource type="POOLED">
				<property name="driver" value="${driver}"/>
				<property name="url" value="${url}"/>
				<property name="username" value="${username}"/>
				<property name="password" value="${password}"/>
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<mapper resource="org/mybatis/example/BlogMapper.xml"/>
	</mappers>
</configuration>

XML配置文件的核心内容即是environment body,其中包含了transaction management和connection pooling的配置。mappers元素包含了映射表:XML映射文件或包含了SQL和映射定义的Java类文件。这里的Java类文件也叫作映射类,其代码利用注解自动实现了部分XML配置,但对于嵌套合并的映射等复杂映射仍需要XML文件。

获取一个SqlSession

从SqlSessionFactory取得SqlSession的映射实例后,就可以执行SQL语句对其操作。这里的例子我们使用BlogMapper.class这个接口来描述映射表的参数和返回值。

SqlSession session = sqlSessionFactory.openSession();
try{
   
	BlogMapper mapper = session.getMapper(BlogMapper.class);
	Blog blog = mapper.selectBlog(101);
}finally{
   
	session.close();
}

上例中映射的SQL语句内容,在XML中配置为:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
 PUBLIC "-//mybaits.org//DTD Config 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
	<select id="selectBlog" resultType="Blog">
		select * from Blog where id = #{id}
	</select>
</mapper>

或者,用Java注解来代替以上的XML配置:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值