微信公众号:菜鸟解说大数据
关注可了解更多的大数据相关的内容。问题或建议,请公众号留言;
如果你觉得tokenzj对你有帮助,欢迎赞赏[1]
Mybatis快速入门
文章目录
什么是Mybatis?搭建一个Mybatis入门小demo1.创建一个Maven工程引入jdbc驱动包和mybatis依赖2.编写mybatis核心配置文件mybatis-config.xml3.我们根据上面的Student表再创建一个Wlslog的实体类:4.创建一个Wlslog的Mapper接口WlslogMapper.java5.根据Mapper接口创建对应的映射文件WlslogMapper.xml6.创建完核心配置文件和接口映射之后我们开始编写测试代码
什么是Mybatis?
1.Mybatis是对JDBC封装的优秀的持久层框架, 简化了JDBC的开发流程
2.起源于Apache的Ibatis项目,2010年迁移到Google.被正式命名为MyBatis.最后在2013年迁移到Github
3.mybatis文档: http://www.mybatis.org/mybatis-3/zh/index.html
接下来直接进入今天的主要内容:
搭建一个Mybatis入门小demo
1.创建一个Maven工程引入jdbc驱动包和mybatis依赖
1<!-- mybatis-->
2<dependency>
3 <groupId>org.mybatis</groupId>
4 <artifactId>mybatis</artifactId>
5 <version>3.4.6</version>
6</dependency>
7
8<!-- mysql connector-->
9<dependency>
10 <groupId>mysql</groupId>
11 <artifactId>mysql-connector-java</artifactId>
12 <version>5.1.25</version>
13</dependency>
2.编写mybatis核心配置文件mybatis-config.xml
1environments: 表示可以配置多个还款, 配置不同数据源, default=“xxx” 指定特定环境
2
3environment: 表示一个环境, 在其中配置数据源和事务
4
5transactionManager: 配置事务管理器: 1. MANAGED(采用容器来管理事务) 2.JDBC(事务采用JDBC管理)
6
7dataSource:配置数据源, type表示数据源的类型1.POOLED连接池的方式 2.UNPOOLED:非连接池数据库 3.JNDI 4.使用自定义数据源 type="类型"
1<?xml version="1.0" encoding="UTF-8" ?>
2<!DOCTYPE configuration
3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
5<configuration>
6 <environments default="development">
7 <environment id="development">
8 <!-- 采用容器来管理事务 -->
9 <!--<transactionManager type="MANAGED" />-->
10
11 <!-- 事务采用JDBC管理 -->
12 <transactionManager type="JDBC"/>
13
14 <!-- dateSource type: 1.POOLED连接池的方式 2.UNPOOLED:非连接池数据库 3.JNDI 4.使用自定义数据源 type="xxxx" -->
15 <dataSource type="POOLED">
16 <property name="driver" value="com.mysql.jdbc.Driver"/>
17 <property name="url" value="jdbc:mysql://192.168.79.130:3306/test"/>
18 <property name="username" value="root"/>
19 <property name="password" value="zj945881967"/>
20 </dataSource>
21 </environment>
22 </environments>
23
24 <!-- load mapper file -->
25 <mappers>
26 <!-- 1.引入文件的形式 -->
27 <!--<mapper resource="mapper/StudentMapper.xml"/>-->
28
29 <!-- 2.扫描包的形式 -->
30 <package name="mapper" />
31
32 <!-- 3.加载类接口的方式 -->
33 <!--<mapper class="mapper.StudentMapper" />-->
34 </mappers>
35</configuration>
3.我们根据上面的Student表再创建一个Wlslog的实体类:
1package pojo;
2public class Wlslog {
3 private int id;
4 private String time_stamp;
5 private String code;
6 private String category;
7 private String type;
8 private String servername;
9 private String msg;
10 public Wlslog() {
11 }
12 public Wlslog(int id, String time_stamp, String code, String category, String type, String servername, String msg) {
13 this.id = id;
14 this.time_stamp = time_stamp;
15 this.code = code;
16 this.category = category;
17 this.type = type;
18 this.servername = servername;
19 this.msg = msg;
20 }
21
22 public int getId() {
23 return id;
24 }
25
26 public void setId(int id) {
27 this.id = id;
28 }
29
30 public String getTime_stamp() {
31 return time_stamp;
32 }
33
34 public void setTime_stamp(String time_stamp) {
35 this.time_stamp = time_stamp;
36 }
37
38 public String getCode() {
39 return code;
40 }
41
42 public void setCode(String code) {
43 this.code = code;
44 }
45
46 public String getCategory() {
47 return category;
48 }
49
50 public void setCategory(String category) {
51 this.category = category;
52 }
53
54 public String getType() {
55 return type;
56 }
57
58 public void setType(String type) {
59 this.type = type;
60 }
61
62 public String getServername() {
63 return servername;
64 }
65
66 public void setServername(String servername) {
67 this.servername = servername;
68 }
69
70 public String getMsg() {
71 return msg;
72 }
73
74 public void setMsg(String msg) {
75 this.msg = msg;
76 }
77}
4.创建一个Wlslog的Mapper接口WlslogMapper.java
1package mapper;
2
3import pojo.Wlslog;
4
5public interface WlslogMapper {
6 int insert(Wlslog wlslog);
7}
5.根据Mapper接口创建对应的映射文件WlslogMapper.xml
1<?xml version="1.0" encoding="UTF-8" ?>
2<!DOCTYPE mapper
3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5<mapper namespace="mapper.WlslogMapper">
6 <insert id="insert">
7 insert into wlslog (id,time_stamp,category,type,servername,code,msg) values (#{id}, #{time_stamp},#{category},#{type},#{servername},#{code},#{msg})
8 </insert>
9</mapper>
6.创建完核心配置文件和接口映射之后我们开始编写测试代码
1import mapper.WlslogMapper;
2import org.apache.ibatis.io.Resources;
3import org.apache.ibatis.session.SqlSession;
4import org.apache.ibatis.session.SqlSessionFactory;
5import org.apache.ibatis.session.SqlSessionFactoryBuilder;
6import pojo.Wlslog;
7
8import java.io.InputStream;
9
10public class test {
11 public static void main(String[] args) throws Exception {
12 // create student domain
13 pojo.Wlslog w= new pojo.Wlslog();
14 w.setId(520);
15 w.setTime_stamp("apr-8-2014-7:06:16-pm-pdt");
16 w.setCategory("log");
17 w.setCode("5201314");
18 w.setMsg("wo ai ni!");
19 w.setType("nininoin");
20 w.setServername("zj");
21
22 // get session
23 InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
24 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
25 SqlSession session = sqlSessionFactory.openSession();
26
27 // execute sql
28 WlslogMapper studentMapper = session.getMapper(WlslogMapper.class);
29 studentMapper.insert(w);
30
31 session.commit();
32 session.close();
33 }
34}