目录结构:
pom.xml文件
1 25 4.0.0 6 7xfj.mac 8MyBatisOne 91.0-SNAPSHOT 10pom 11 1213 30 3114 18 19junit 15junit 164.12 1720 24org.mybatis 21mybatis 223.4.5 2325 29mysql 26mysql-connector-java 275.1.28 2832 43 4433 4234 41maven-compiler-plugin 3536 401.8 37
mybatis.xml
1 2 4 56 7 8 9 10 11 13 15 16 1814 19 20 33 34 3521 22 3223 24 25 26 3127 28 29 30 36 3837
userDao.xml
INSERT INTO MAC_USER VALUES(#{userId},#{userName},#{phone}) DELETE FROM MAC_USER WHERE user_id = #{userId}
User.java
1 package xfj.mybatis.entity; 2 3 public class User { 4 5 private Integer userId ; 6 7 private String userName ; 8 9 private String phone ;10 11 public Integer getUserId() {12 return userId;13 }14 15 public void setUserId(Integer userId) {16 this.userId = userId;17 }18 19 public String getUserName() {20 return userName;21 }22 23 public void setUserName(String userName) {24 this.userName = userName;25 }26 27 public String getPhone() {28 return phone;29 }30 31 public void setPhone(String phone) {32 this.phone = phone;33 }34 }
UserDao.java
package xfj.mybatis.dao;import xfj.mybatis.entity.User;public interface UserDao { void insertUser(User user) ; void deleteUser(Integer userId) ;}
UserDaoImpl.java
package xfj.mybatis.dao.impl;import org.apache.ibatis.session.SqlSession;import xfj.mybatis.dao.UserDao;import xfj.mybatis.entity.User;import xfj.mybatis.utils.MybatisUtl;public class UserDaoImpl implements UserDao { SqlSession session = MybatisUtl.getSqlSession() ; @Override public void insertUser(User user) { //SqlSession session = MybatisUtl.getSqlSession() ; try { //执行保存操作 session.getMapper(UserDao.class).insertUser(user); }catch(RuntimeException e){ e.printStackTrace(); //事务回滚 session.rollback(); }finally{ //关闭session session.close(); } } @Override public void deleteUser(Integer userId) { try { //执行删除操作 session.getMapper(UserDao.class).deleteUser(userId); }catch (RuntimeException e){ e.printStackTrace(); session.rollback(); }finally { session.close(); } }}
MybatisUtil.java
package xfj.mybatis.utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;public class MybatisUtl { /*定义SqlSessionFactory ,用来创建实例化sessionFactory*/ private static SqlSessionFactory sqlSessionFactory ; static { try { //通过mybatis核心额配置文件,并创建一个输入流用来读取xml文件 InputStream is = Resources.getResourceAsStream("mybatis.xml") ; //创建一个SqlSessionFactoryBuilder构建器来实例化一个SqlSessionFactory, //build方法传入一个输入流来解析配置文件,从而创建SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is) ; } catch (IOException e) { e.printStackTrace(); throw new RuntimeException("mybatisUtil error!!") ; } } //创建一个获取sqlsession的静态方法 public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(true) ; } public static void main(String[] args) { System.out.println(getSqlSession()); }}
UserDaoTest.java测试类:
package xfj.mybatis.test;import org.junit.Test;import xfj.mybatis.dao.UserDao;import xfj.mybatis.dao.impl.UserDaoImpl;import xfj.mybatis.entity.User;public class UserDaoTest { /*@Test public void insertUser(){ User user1 = new User() ; user1.setUserId(13); user1.setUserName("恭喜"); user1.setPhone("1265416989"); userDao.insertUser(user1); }*/ @Test public void deleteUser(){ UserDao userDao = new UserDaoImpl() ; //User user = new User() ; userDao.deleteUser(4); }}
mybatis入门学习笔记,comeon