第一节:mybatis入门

本文详细介绍了一种流行的持久化框架MyBatis的使用方法。包括配置环境、创建实体类、映射文件及执行数据库操作等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为连接数据库的大部分代码是一样的,所以就有一些持久化框架来完成对数据库的操作。现在使用最多的是mybatis和hibernate,最方便的是hibernate,但效率是最低的,jdbc是最麻烦的,但却是效率最高的。mybatis的效率比hibernate好得多。所以,最后,我选择使用了mybatis。

mybatis有一份中文文档,地址是:点击打开链接

在这里,可以选择语言。但这里是不支持下载包的,需要自行去下载。

我这里,介绍一下一个入门过程,也是分步的。

第一步:把jar包导入到项目

因为需要连接数据库,所以需要导两个包,一个是mybatis的包,还有一个是数据库的驱动包。我使用的mysql,导入后如下图所示:


第二步:创建相关的config.xml文件

1.在src根目录创建一个mybatis的相关配置文件,我自己创建的名字是mybatis-config.xml,这个名字可以自定义。
这个配置文件大概是这个样子,它需要配置的东西,最主要的是上面的数据源,用来与数据库的链接。我在上面加上注释吧。

<?xml version="1.0" encoding="UTF-8" ?>
  <!-- 这个东西一定要加,它是xml的语法规则,加上这句话后,才会有代码提示 -->
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<!-- 这个是要使用的环境,我们会配置多个环境,一个开发环境,一个生产环境,我们测试的时候,就使用开发环境 -->
	<environments default="development">
		<!-- 这里是创建了一个开发环境,我们也可以再创建其它环境,但要使用它,必须在上面更改 -->
		<environment id="development">
			<!-- 使用的事务管理,默认的使用的是jdbc,JDBC – 这个配置就是直接使用了 JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务范围 
				我觉得,最后,去读一下文档,有更详细地介绍 -->
			<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>
	<!-- 映射文件, MyBatis 去哪里找映射文件,剩下的细节就应该是每个 SQL 映射文件了,后面再介绍怎么用这个 -->
	<mappers>
		<mapper resource="org/mybatis/example/BlogMapper.xml" />
	</mappers>
</configuration>



第三步:创建实体类

现在,就可以去创建一个实体类了,譬如下面这样:
public class TestMyBatis {
	private String usernameString;

	public String getUsernameString() {
		return usernameString;
	}

	public void setUsernameString(String usernameString) {
		this.usernameString = usernameString;
	}
}

这是最简单的一个类,只有一个string变量,然后是它的get和set方法。

第四步:创建映射文件

有了上面的实体类以后,就需要创建一个映射文件,一般是使用的类名相同的名字,但后缀是xml。
创建配置文件的规则也非常简单,这里是文档连接: 映射文件规则
这个映射文件,要添加到我们创建的config文件中,就是最下面的mapper
<?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="cc.penrose.test.TestMyBatis">
	<!-- id这个参数,是给这个方法起的一个id名字,parameterType是参数,这个是insert方法,要插入数据,所以直接传一个对象进来 -->
	<insert id="add" parameterType="cc.penrose.test.TestMyBatis">
	<!-- 这是一条sql语句,${usernameString} 东西的意思,就是会去调用getUsernameString这个方法-->
		insert mytest (adress) values (${usernameString});
	</insert>
</mapper>

第五步:创建SQLSession,完成对数据库的操作

	@Test
	public void test() {
		InputStream inputStream;
		try {
			//声明配置文件的地址
			String resource = "mybatis-config.xml";
			//根据配置文件地址来创建一个输入流
			inputStream = Resources.getResourceAsStream(resource);
			//根据配置文件输入流,来创建SqlSessionFactory
			SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
			//打开一个session
			SqlSession session = sqlSessionFactory.openSession();
			//新创建一个对象
			TestMyBatis testMyBatis = new  TestMyBatis();
			testMyBatis.setUsernameString("hello world,hahaha");
			//执行sql方法,第一个参数是我们mapper文件里声明的哪个方法的全称,第二个是方法的参数
			session.insert("cc.penrose.test.TestMyBatis.add", testMyBatis);
			System.out.println(session.toString());
			//提交事务
			session.commit();
			//关闭事务
			session.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

最终结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值