新学MyBatis
2024-09-27 11:51:50
今天学习了Mybatis入门,将知识归纳一下:
创建一个java项目之后,想使用myBatis需要完成一下几个步骤:
1.先导jar包
2.写model文件 ()
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的环境信息 -->
<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&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
4.写映射文件 .xml
代码:
<?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加载映射文件
代码:
<mappers>
<mapper resource="com/mybatistest/sqlmap/User.xml"></mapper>
</mappers> 进行单元测试:
代码附上:
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();
}
}
最新文章
- Django后台post请求中的csrf token
- 20145206邹京儒《Java程序设计》第8周学习总结
- javascript设计模式与开发实践阅读笔记(7)——迭代器模式
- JS和利用openssl的object C加密得到相同的aes加密密文
- MS Build参考
- 转:LINQ查询返回DataTable类型
- Android------三种监听OnTouchListener、OnLongClickListener同时实现即其中返回值true或者false的含义
- 新概念英语(1-63)Thank you, doctor.
- Mongodb3.6 基操命令(二)——如何使用help
- Oracle权限授予
- python 数据类型 总结
- Python3.5 学习二十一
- JS funtion()中URL不跳转后台action问题
- 51nod算法马拉松28-a
- linux下C获取系统时间的方法
- flask 上下文管理 &;源码剖析
- Maven .m2文件夹创建
- ArcGIS 10.1 如何连接数据库(转)
- Dos命令的巧用 - 转载
- python 爬糗事百科