目录结构:
pom.xml文件
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5 4.0.0
6
7 xfj.mac
8 MyBatisOne
9 1.0-SNAPSHOT
10 pom
11
12
13
14 junit
15 junit
16 4.12
17
18
19
20 org.mybatis
21 mybatis
22 3.4.5
23
24
25 mysql
26 mysql-connector-java
27 5.1.28
28
29
30
31
32
33
34 maven-compiler-plugin
35
36 1.8
37 1.8
38 UTF-8
39
40
41
42
43
44
mybatis.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 /p>
3 "http://mybatis.org/dtd/mybatis-3-config.dtd">
4
5
6
7
8
9
10
11
13
14
15
16
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
userDao.xml
/p>
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
INSERT INTO MAC_USER VALUES(#{userId},#{userName},#{phone})
DELETE FROM MAC_USER WHERE user_id=#{userId}
User.java
1 packagexfj.mybatis.entity;2
3 public classUser {4
5 privateInteger userId ;6
7 privateString userName ;8
9 privateString phone ;10
11 publicInteger getUserId() {12 returnuserId;13 }14
15 public voidsetUserId(Integer userId) {16 this.userId =userId;17 }18
19 publicString getUserName() {20 returnuserName;21 }22
23 public voidsetUserName(String userName) {24 this.userName =userName;25 }26
27 publicString getPhone() {28 returnphone;29 }30
31 public voidsetPhone(String phone) {32 this.phone =phone;33 }34 }
UserDao.java
packagexfj.mybatis.dao;importxfj.mybatis.entity.User;public interfaceUserDao {voidinsertUser(User user) ;voiddeleteUser(Integer userId) ;
}
UserDaoImpl.java
packagexfj.mybatis.dao.impl;importorg.apache.ibatis.session.SqlSession;importxfj.mybatis.dao.UserDao;importxfj.mybatis.entity.User;importxfj.mybatis.utils.MybatisUtl;public class UserDaoImpl implementsUserDao {
SqlSession session=MybatisUtl.getSqlSession() ;
@Overridepublic voidinsertUser(User user) {//SqlSession session = MybatisUtl.getSqlSession() ;
try{//执行保存操作
session.getMapper(UserDao.class).insertUser(user);
}catch(RuntimeException e){
e.printStackTrace();//事务回滚
session.rollback();
}finally{//关闭session
session.close();
}
}
@Overridepublic voiddeleteUser(Integer userId) {try{//执行删除操作
session.getMapper(UserDao.class).deleteUser(userId);
}catch(RuntimeException e){
e.printStackTrace();
session.rollback();
}finally{
session.close();
}
}
}
MybatisUtil.java
packagexfj.mybatis.utils;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importjava.io.IOException;importjava.io.InputStream;public classMybatisUtl {/*定义SqlSessionFactory ,用来创建实例化sessionFactory*/
private staticSqlSessionFactory sqlSessionFactory ;static{try{//通过mybatis核心额配置文件,并创建一个输入流用来读取xml文件
InputStream is = Resources.getResourceAsStream("mybatis.xml") ;//创建一个SqlSessionFactoryBuilder构建器来实例化一个SqlSessionFactory,//build方法传入一个输入流来解析配置文件,从而创建SqlSessionFactory
sqlSessionFactory = newSqlSessionFactoryBuilder().build(is) ;
}catch(IOException e) {
e.printStackTrace();throw new RuntimeException("mybatisUtil error!!") ;
}
}//创建一个获取sqlsession的静态方法
public staticSqlSession getSqlSession(){return sqlSessionFactory.openSession(true) ;
}public static voidmain(String[] args) {
System.out.println(getSqlSession());
}
}
UserDaoTest.java测试类:
packagexfj.mybatis.test;importorg.junit.Test;importxfj.mybatis.dao.UserDao;importxfj.mybatis.dao.impl.UserDaoImpl;importxfj.mybatis.entity.User;public classUserDaoTest {/*@Test
public void insertUser(){
User user1 = new User() ;
user1.setUserId(13);
user1.setUserName("恭喜");
user1.setPhone("1265416989");
userDao.insertUser(user1);
}*/@Testpublic voiddeleteUser(){
UserDao userDao= newUserDaoImpl() ;//User user = new User() ;
userDao.deleteUser(4);
}
}
mybatis入门学习笔记,comeon