博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis 【增删改查】
阅读量:4684 次
发布时间:2019-06-09

本文共 10121 字,大约阅读时间需要 33 分钟。

configuration.xml     , MyBatis主配置文件

1 
2 4 5
6
7
8
9 10
11
12
13
14
15 16
17
18
19
20 21
22
23
24
25
26
27
28
29
30
31
32
33 34
35
36
37
38

 jdbc.properties

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8username=rootpassword=123456

 log4j.properties

log4j.rootLogger=debug, stdout, Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p - %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=firestorm.loglog4j.appender.R.MaxFileSize=100KBlog4j.appender.R.MaxBackupIndex=1log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%p %t %c - %m%nlog4j.logger.com.codefutures=DEBUG

 User .java

package com.mybatis.model;import java.io.Serializable;@SuppressWarnings("serial")public class User implements Serializable {        private int id;    private String userName;    private String password;        public User(){    }        public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }}

UserMap.xml

userName,password
INSERT INTO USER(
) VALUES(#{userName},#{password})
UPDATE USER SET userName=#{userName} ,password=#{password} WHERE id=#{id}
DELETE FROM USER WHERE id=#{id}

SessionFactoryUtil.java  MyBatis工具类,用于创建SqlSessionFactory

package com.mybatis.sessionfactory;import java.io.IOException;import java.io.Reader;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class SessionFactoryUtil {        private static final String RESOURCE = "Configuration.xml";    private static SqlSessionFactory sqlSessionFactory = null;    private static ThreadLocal
threadLocal = new ThreadLocal
(); static { Reader reader = null; try { reader = Resources.getResourceAsReader(RESOURCE); } catch (IOException e) { throw new RuntimeException("Get resource error:"+RESOURCE, e); } sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } /** * Function : 获得SqlSessionFactory */ public static SqlSessionFactory getSqlSessionFactory(){ return sqlSessionFactory; } /** * Function : 重新创建SqlSessionFactory */ public static void rebuildSqlSessionFactory(){ Reader reader = null; try { reader = Resources.getResourceAsReader(RESOURCE); } catch (IOException e) { throw new RuntimeException("Get resource error:"+RESOURCE, e); } sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } /** * Function : 获取sqlSession */ public static SqlSession getSession(){ SqlSession session = threadLocal.get(); if(session!=null){ if(sqlSessionFactory == null){ getSqlSessionFactory(); } //如果sqlSessionFactory不为空则获取sqlSession,否则返回null session = (sqlSessionFactory!=null) ? sqlSessionFactory.openSession(): null; } return session; } /** * Function : 关闭sqlSession */ public static void closeSession(){ SqlSession session = threadLocal.get(); threadLocal.set(null); if(session!=null){ session.close(); } }}

UserDao interface

package com.mybatis.dao;import java.util.List;import com.mybatis.model.User;public interface UserDao {        public User load(int id);    public void add(User user);    public void update(User user);    public void delete(int id);    public User findByName(String userName);    public List
queryAllUser(); public List
list(int pageNow,int pageSize); public int getAllCount(); }

UserDaoImpl

package com.mybatis.dao.implment;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.ibatis.session.SqlSession;import com.mybatis.dao.UserDao;import com.mybatis.model.User;import com.mybatis.sessionfactory.SessionFactoryUtil;public class UserDaoImpl implements UserDao {        public User load(int id){        SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();        User user = (User) session.selectOne("com.mybatis.model.User.selectById_user", id);        session.close();        return user;    }    public void add(User user) {        SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();        session.insert("com.mybatis.model.User.inser_user", user);        session.commit();        session.close();    }        public void update(User user){        SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();        session.update("com.mybatis.model.User.update_user", user);        session.commit();        session.close();    }        public void delete(int id){        SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();        session.delete("com.mybatis.model.User.delete_user", id);        session.close();    }        public User findByName(String userName){        SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();        User user = (User)session.selectOne("com.mybatis.model.User.selectByName_user", userName);        session.close();        return user;    }        @SuppressWarnings("unchecked")    public List
queryAllUser() { SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession(); List
list = session.selectList("com.mybatis.model.User.selectAll_user"); session.close(); return list; } @SuppressWarnings("unchecked") public List
list(int pageNow , int pageSize){ SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession(); Map
params = new HashMap
(); params.put("pageNow", pageNow); params.put("pageSize", pageSize); List
list = session.selectList("com.mybatis.model.User.selectList_user", params); session.close(); return list; } public int getAllCount(){ SqlSession session =SessionFactoryUtil.getSqlSessionFactory().openSession(); int count = (Integer) session.selectOne("com.mybatis.model.User.selectCount_user"); session.close(); return count; } }

测试类:

package com.mybatis.dao.implment;import java.util.List;import org.junit.Test;import com.mybatis.dao.UserDao;import com.mybatis.model.User;public class UserDaoTest {        private UserDao userDao = new UserDaoImpl();        @Test    public void testLoad(){        User u = userDao.load(1);        if(u!=null){            System.out.println("UserId:"+u.getId()+"  UserName:"+u.getUserName()+"  Password:"+u.getPassword());        }        else{            System.out.println("id不存在!!");        }    }        @Test    public void testAdd(){        User user = new User();        user.setUserName("admin5");        user.setPassword("123456");        userDao.add(user);    }        @Test    public void testUpdate(){        User user = new User();        user.setId(2);        user.setUserName("manager");        user.setPassword("123456");        userDao.update(user);    }        @Test    public void testQueryAllUser(){        List
list = userDao.queryAllUser(); if(list!=null&list.size()>0){ for(User u:list){ System.out.println("UserId:"+u.getId()+" UserName:"+u.getUserName()+" Password:"+u.getPassword()); } } } @Test public void testFindByName(){ User u = userDao.findByName("admin"); if(u!=null){ System.out.println("UserId:"+u.getId()+" UserName:"+u.getUserName()+" Password:"+u.getPassword()); } else{ System.out.println("用户名不存在!!"); } } @Test public void testList(){ List
list = userDao.list(1, 4); if(list!=null&list.size()>0){ for(User u:list){ System.out.println("UserId:"+u.getId()+" UserName:"+u.getUserName()+" Password:"+u.getPassword()); } } } @Test public void testGetAllCount(){ System.out.println("All Count : "+userDao.getAllCount()); } @Test public void testDelete(){ userDao.delete(3); }}

 

转自:http://qingling600.iteye.com/blog/1832858#

转载于:https://www.cnblogs.com/luffya/p/3638206.html

你可能感兴趣的文章
python 魔法方法补充(__setattr__,__getattr__,__getattribute__)
查看>>
NOIP 2010 关押罪犯
查看>>
CentOS7.5删除旧的内核
查看>>
Java常用的非受检异常
查看>>
HDOJ-2054
查看>>
centos7安装eclipse
查看>>
Web:AJAX的详解
查看>>
S2JDBC テーブルを利用した独自仕様のid採番メソッド
查看>>
P3698 [CQOI2017]小Q的棋盘
查看>>
动态规划入门 洛谷P2409 Y的积木
查看>>
【第一季】CH04_FPGA设计Verilog基础(一)Enter a post title
查看>>
Mysql全文索引
查看>>
jmeter(四十四)常用性能指标分析
查看>>
F - 八苦を滅した尼公 POJ - 2763 线段树LCA
查看>>
通过jQuery源码学习javascript(一)
查看>>
源码阅读经验谈-slim,darknet,labelimg,caffe(1)
查看>>
SecureCRT配色方案
查看>>
Unity3D 关于yield在collider中的使用
查看>>
spring-mvc xml文件的最基本配置
查看>>
word 新建一行文字不能左对齐
查看>>