欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

新学MyBatis

程序员文章站 2022-07-05 14:09:49
今天学习了Mybatis入门,将知识归纳一下: 创建一个java项目之后,想使用myBatis需要完成一下几个步骤: 1.先导jar包 2.写model文件 () 3.写全局配置文件 SqlMapConfig.xml,配置数据源和事务管理器 SqlMapConfig.xml(文件头可以从mybati ......

今天学习了mybatis入门,将知识归纳一下:

创建一个java项目之后,想使用mybatis需要完成一下几个步骤:

新学MyBatis

 

1.先导jar包

新学MyBatis

 

2.写model文件 ()

新学MyBatis

 

3.写全局配置文件 sqlmapconfig.xml,配置数据源和事务管理器

sqlmapconfig.xml(文件头可以从mybatis-3.2.7.pdf文档的2.1.2小节中拷贝)

头文件:

<?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>

配置数据源和事务管理器:

新学MyBatis

代码:

<!-- 配置mybatis的环境信息 -->
<environments default="development">
<environment id="development">
<!-- 配置jdbc事务控制,由mybatis进行管理 -->
<transactionmanager type="jdbc"></transactionmanager>
<!-- 配置数据源,采用dbcp连接池 -->
<datasource type="pooled">
<property name="driver" value="com.mysql.jdbc.driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatistest?useunicode=true&amp;characterencoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</datasource>
</environment>
</environments>

4.写映射文件 .xml

新学MyBatis

代码:

<?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="user">
<!-- 根据id查询-->
<!--
[id]:statement的id,要求在命名空间内唯一
[parametertype]:入参的java类型
[resulttype]:查询出的单条结果集对应的java类型
[#{}]: 表示一个占位符?
[#{id}]:表示该占位符待接收参数的名称为id。
注意:如果参数为简单类型时,#{}里面的参数名称可以是任意定义
-->
<select id="finduserbyid" parametertype="int" resulttype="com.mybatistest.model.user">
select * from user where id=#{id}
</select>
</mapper>

5.在sqlmapconfig.xml文件中告诉mybatis加载映射文件

新学MyBatis

代码:

<mappers>
<mapper resource="com/mybatistest/sqlmap/user.xml"></mapper>
</mappers>


进行单元测试:

新学MyBatis

代码附上:

public class demo01 {
@test
public void test01() throws ioexception {
// a) 读取配置文件;
inputstream is = resources.getresourceasstream("sqlmapconfig.xml");
// b) 通过sqlsessionfactorybuilder创建sqlsessionfactory会话工厂。 ctrl+alt+v
sqlsessionfactory sessionfactory = new sqlsessionfactorybuilder().build(is);
// c) 通过sqlsessionfactory创建sqlsession。
sqlsession session = sessionfactory.opensession();
// d) 调用sqlsession的操作数据库方法。数据可返回一条结果,用selectone
user user = session.selectone("finduserbyid",10);
system.out.println(user);
// e) 关闭sqlsession。
session.commit();
}
}