今天学习了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&amp;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();
}
}
												

最新文章

  1. Django后台post请求中的csrf token
  2. 20145206邹京儒《Java程序设计》第8周学习总结
  3. javascript设计模式与开发实践阅读笔记(7)——迭代器模式
  4. JS和利用openssl的object C加密得到相同的aes加密密文
  5. MS Build参考
  6. 转:LINQ查询返回DataTable类型
  7. Android------三种监听OnTouchListener、OnLongClickListener同时实现即其中返回值true或者false的含义
  8. 新概念英语(1-63)Thank you, doctor.
  9. Mongodb3.6 基操命令(二)——如何使用help
  10. Oracle权限授予
  11. python 数据类型 总结
  12. Python3.5 学习二十一
  13. JS funtion()中URL不跳转后台action问题
  14. 51nod算法马拉松28-a
  15. linux下C获取系统时间的方法
  16. flask 上下文管理 &amp;源码剖析
  17. Maven .m2文件夹创建
  18. ArcGIS 10.1 如何连接数据库(转)
  19. Dos命令的巧用 - 转载
  20. python 爬糗事百科

热门文章

  1. spark性能调优01-常规调优
  2. pthread_create()的一个错误示例
  3. 使用Nuget重新安装packages.config中的组件的方法
  4. Java面试宝典(2)Java基础部分
  5. 第一章 笔记本电脑安装Linux系统(Centos7)
  6. AD库转换为KiCAD库的方法
  7. Raid,分区表与LVM逻辑卷
  8. Codeforces 454E. Little Pony and Summer Sun Celebration
  9. jstl jsp long to date
  10. 自定义solr域中的配置