MyBatis学习(一)一个简单的例子
2024-10-04 04:46:40
mybatis入门例子
开发步骤:
1.创建java工程
2.加入jar包(依赖包、驱动包)
3.创建sqlMapConfig.xml
4.创建数据库,数据库表USER_C,插入测试记录
5.创建PO对象 user.java
6.创建映射文件 User.xml
7.创建测试类
占位符:
iBatis #id#
myBatis #{id}
1、创建web工程
2、导入jar包:
mybatis-3.2.2.jar
asm-3.3.1.jar
cglib-2.2.2.jar
commons-logging-1.1.1.jar
javassist-3.17.1-GA.jar
log4j-1.2.17.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar
3、配置文件 sqlMapConfig.xml :
事务:JDBC/MANAGED
数据源:UNPOOLED/POOLED/JNDI
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 <transactionManager type="JDBC"/>
9 <dataSource type="POOLED">
10 <property name="driver" value="com.mysql.jdbc.Driver"/>
11 <property name="url" value="jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=UTF-8"/>
12 <property name="username" value="root"/>
13 <property name="password" value="root"/>
14 </dataSource>
15 </environment>
16 </environments>
17
18 <mappers>
19 <mapper resource="cn/itcast/mybatis/domain/User.xml"/>
20 </mappers>
21 </configuration>
4.创建数据库
创建mybatisdb数据库
创建User表
create table USER_C
(
ID varchar(40) not null,
NAME varchar(30),
AGE int,
ADDRESS varchar(200),
primary key (ID)
);
insert into `user_c`(`id`,`name`,`age`,`address`)
values ('1','夏言',73,'桂州村'),
('2','严嵩',87,'分宜县城介桥村'),
('3','徐阶',80,'明松江府华亭县'),
('4','高拱',66,'河南省新郑市高老庄村'),
('5','张居正',58,'江陵');
5、映射文件 cn.itcast.mybatis.domain.User.xml :
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
6、PO对象 User.java :
1 package cn.itcast.domain;
2
3 public class User {
4 private String id;
5 private String name;
6 private Integer age;
7 private String address;
8 public String getAddress() {
9 return address;
10 }
11 public void setAddress(String address) {
12 this.address = address;
13 }
14 public String getId() {
15 return id;
16 }
17 public void setId(String id) {
18 this.id = id;
19 }
20 public String getName() {
21 return name;
22 }
23 public void setName(String name) {
24 this.name = name;
25 }
26 public Integer getAge() {
27 return age;
28 }
29 public void setAge(Integer age) {
30 this.age = age;
31 }
32 @Override
33 public String toString() {
34 return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
35 }
36
37 }
7、测试类:
1 package cn.itcast.test;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.List;
6 import java.util.UUID;
7
8 import org.apache.ibatis.io.Resources;
9 import org.apache.ibatis.session.SqlSession;
10 import org.apache.ibatis.session.SqlSessionFactory;
11 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
12 import org.junit.Before;
13 import org.junit.Test;
14
15 import cn.itcast.domain.User;
16
17 public class TestMybatis {
18
19 SqlSessionFactory sqlSessionFactory;
20
21 @Before
22 public void initFactory() throws IOException
23 {
24 String resource = "sqlMapConfig.xml";
25
26 InputStream inputStream = Resources.getResourceAsStream(resource);
27
28 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
29 }
30
31 @Test
32 public void testListAll()
33 {
34 SqlSession session=sqlSessionFactory.openSession();
35 List<User> users=session.selectList("cn.itcast.mybatis.listAll");
36 System.out.println(users.size());
37 }
38 @Test
39 public void testQueryOne()
40 {
41 SqlSession session=sqlSessionFactory.openSession();
42 User user=session.selectOne("cn.itcast.mybatis.getOne", 1);
43 System.out.println(user);
44 }
45 //事务需要程序员处理
46 @Test
47 public void testInsertOne()
48 {
49 User u=new User();
50 u.setId(UUID.randomUUID().toString());
51 u.setName("sbsbb");
52 u.setAge(18);
53 u.setAddress("china");
54 SqlSession session=sqlSessionFactory.openSession();
55 int count=session.insert("cn.itcast.mybatis.insertOne", u);
56 session.commit();
57 System.out.println(count);
58 }
59
60 @Test
61 public void testUpdateOne()
62 {
63 SqlSession session=sqlSessionFactory.openSession();
64 User u=new User();
65 //u=session.selectOne("cn.itcast.mybatis.getOne", "2");
66 u.setId("2");
67 u.setName("clclclclclcfei");
68 u.setAge(100);
69 u.setAddress("USA");
70 int count=session.update("cn.itcast.mybatis.updateOne", u);
71 session.commit();
72 System.out.println(count);
73 }
74 @Test
75 public void testDeleteOne()
76 {
77 SqlSession session=sqlSessionFactory.openSession();
78 User u=new User();
79 u.setId("2");
80 int count=session.delete("cn.itcast.mybatis.deleteOne", u);
81 session.commit();
82 System.out.println(count);
83 }
84
85
86
87 }
最新文章
- 【跟着子迟品 underscore】JavaScript 中如何判断两个元素是否 ";相同";
- [Notes] Learn Python2.7 From Python Tutorial
- A BRIEF HISTORY OF COMPUTERS
- css伪元素before/after和画三角形的搭配应用
- 【暑假】[实用数据结构]KMP
- 栈(顺序存储)C++模板实现
- 解决android锁屏或解锁后activity重启的问题
- win8.1 usb3 速度慢的解决方法
- Delphi Math里的基本函数,以及浮点数比较函数(转)
- Android TextView属性大全
- 关于Spring的HibernateTemplate的findByExample方法使用时的一点注意。
- ASP.NET Core 实战:将 .NET Core 2.0 项目升级到 .NET Core 2.1
- 小程序开发笔记【一】,查询用户参与活动列表 left join on的用法
- 关于Android studio 设置点击打不开的解决
- {";error";:";Content-Type header [application/x-www-form-urlencoded] is not supported";,";status";:406}
- Delphi 10.2 新特性之—TFDBatchMoveJSONWriter
- 将xml文件由格式化变为压缩字符串
- PCB板的三种敷铜方法解析
- Date 时间 日期 常用方法函数
- hdu 4276 树形dp