博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis学习笔记二:增删改查
阅读量:6271 次
发布时间:2019-06-22

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

hot3.png

MyBatis基本的增删改查操作,有图有真相,项目截图[MyBatis-0200]

项目依赖及表参阅

[user.xml]

id ,account ,password ,nickname ,email ,birthday ,status ,registed_time
insert into tbl_user (account ,password ,nickname ,gender ,email ,status ,registed_time) values (#{account},#{password},#{nickname},#{gender},#{email},#{status},#{registedTime})
update tbl_user set nickname = #{nickname} , email = #{email} , status = #{status} , birthday = #{birthday} where id = #{id}
delete from tbl_user where id = #{id}
[
IUserMapper.java
]
package net.yeah.likun_zhang.mapper;import java.util.List;import net.yeah.likun_zhang.model.User;/** * 用户表映射接口 * @author	ZhangLiKun * @mail	likun_zhang@yeah.net * @date	2013-3-31 */public interface IUserMapper {	User get(Long id) ;		List
listByAccount(String account) ; int save(User user) ; void update(User user) ; void delete(Long id) ; }
[测试用例]
package net.yeah.likun_zhang.example;import static org.junit.Assert.assertEquals;import static org.junit.Assert.assertNotNull;import static org.junit.Assert.assertNull;import static org.junit.Assert.assertTrue;import java.io.IOException;import java.io.InputStream;import java.util.Calendar;import java.util.List;import net.yeah.likun_zhang.mapper.IUserMapper;import net.yeah.likun_zhang.model.User;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 org.junit.After;import org.junit.Before;import org.junit.Test;public class SqlSessionTest {	private SqlSessionFactory sessionFactory ;	private SqlSession session ;	private IUserMapper um ;		@Before	public void setUp() throws IOException {				String resource = "mybatis.xml";		InputStream in = Resources.getResourceAsStream(resource);		sessionFactory = new SqlSessionFactoryBuilder().build(in);		session = sessionFactory.openSession();		um = session.getMapper(IUserMapper.class);			}		@Test	public void testSelectOne() {		User user = um.get(1L);		assertNotNull(user);		assertEquals("admin", user.getAccount());	}		@Test	public void testSelectList() {		List
users = um.listByAccount("admin") ; assertNotNull(users); assertEquals("admin", users.get(0).getAccount()); } @Test public void testInsert() { User user = new User() ; user.setAccount("jack") ; user.setPassword("123456") ; user.setNickname("jack") ; user.setEmail("jack@yeah.net") ; user.setGender(0) ; user.setStatus(0) ; user.setRegistedTime(Calendar.getInstance().getTime()) ; int result = um.save(user) ; assertEquals(1 ,result) ; // 返回的是插入记录条数而非自增长ID assertTrue(user.getId() > 0) ; // 自增长ID被set到要保存对象中去了,类似于JPA的persist方法 } @Test public void testUpdate() { User user = um.get(1L) ; user.setStatus(0) ; um.update(user) ; user = um.get(1L) ; // 重新获取User对象 assertEquals("admin", user.getAccount()) ; assertEquals(0 ,user.getStatus()) ; } @Test public void testDelete() { Long id = 15L ; assertNotNull(um.get(id)) ; um.delete(id) ; assertNull(um.get(id)) ; } @After public void tearDown() {// session.commit() ;    // 需手动提交事务,否则数据不会被写入数据库中,增删改测试需提交事务 session.close() ; } }

转载于:https://my.oschina.net/zhanglikun/blog/120875

你可能感兴趣的文章
聊天界面图文混排
查看>>
控件的拖动
查看>>
svn eclipse unable to load default svn client的解决办法
查看>>
Android.mk 文件语法详解
查看>>
QT liunx 工具下载
查看>>
内核源码树
查看>>
Java 5 特性 Instrumentation 实践
查看>>
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>