- 浏览: 1248421 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (193)
- ant/maven (6)
- algorithm (5)
- tomcat/weblogic/jboss (6)
- javascript/jquery (13)
- java (33)
- flex/flash (0)
- JPA/Hibernate/myBatis (18)
- java concurrent (7)
- test (2)
- windows/linux (6)
- java collection (7)
- design pattern (2)
- life/health (3)
- database (12)
- IDE (4)
- spring/ejb (20)
- html/css/ckeditor (7)
- jsp/servlet (3)
- java io (13)
- java security (4)
- jni (0)
- svn/git (2)
- english (2)
- java jmx (1)
- xml (1)
- struts/springmvc (9)
- middleware (2)
- cache (1)
- cglib (3)
最新评论
-
jlotusYo:
博主,真感谢。
Java 密码扩展无限制权限策略文件 -
senninha:
这个。。是api说明吧。。
ScheduledExecutorService 源码分析 -
zoutao2008:
请问大文件如何处理?按你这种方式的话,文件超过200M时就会报 ...
hessian系列之二:上传文件 -
lwj1113:
lwj1113 写道谢谢博主这么细致的demo;在系列五中通过 ...
myBatis系列之五:与Spring3集成 -
lwj1113:
谢谢博主这么细致的demo;在系列五中通过testng测试类跑 ...
myBatis系列之五:与Spring3集成
myBatis系列之一:搭建开发环境
myBatis系列之二:以接口方式交互数据
myBatis系列之四:关联数据的查询
myBatis系列之五:与Spring3集成
myBatis系列之六:与SpringMVC集成
myBatis系列之七:事务管理
1. 查询
myBatis系列之二:以接口方式交互数据实现了单条记录的查询,这里查询一组记录:
IUserMapper接口添加下面方法:
在User.xml中添加:
测试方法:
2. 新增
IUserMapper接口添加下面方法:
User.xml添加:
测试方法:
3. 更新
接口添加方法:
User.xml添加:
测试方法:
4. 删除
接口添加方法:
User.xml添加:
测试方法:
参考:
http://www.yihaomen.com/article/java/305.htm
myBatis系列之二:以接口方式交互数据
myBatis系列之四:关联数据的查询
myBatis系列之五:与Spring3集成
myBatis系列之六:与SpringMVC集成
myBatis系列之七:事务管理
1. 查询
myBatis系列之二:以接口方式交互数据实现了单条记录的查询,这里查询一组记录:
IUserMapper接口添加下面方法:
List<User> getUsers(String name);
在User.xml中添加:
<resultMap type="User" id="userList"><!-- type为返回列表元素的类全名或别名 --> <id column="id" property="id" /> <result column="name" property="name" /> <result column="age" property="age" /> <result column="address" property="address" /> </resultMap> <select id="getUsers" parameterType="string" resultMap="userList"><!-- resultMap为上面定义的User列表 --> select * from `user` where name like #{name} </select>
测试方法:
@Test public void queryListTest() { SqlSession session = sqlSessionFactory.openSession(); try { IUserMapper mapper = session.getMapper(IUserMapper.class); List<User> users = mapper.getUsers("%a%"); // %在sql里代表任意个字符。 for (User user : users) { log.info("{}: {}", user.getName(), user.getAddress()); } } finally { session.close(); } }
2. 新增
IUserMapper接口添加下面方法:
int addUser(User user);
User.xml添加:
<insert id="addUser" parameterType="User" useGeneratedKeys="true" keyProperty="id"><!-- useGeneratedKeys指定myBatis使用数据库自动生成的主键,并填充到keyProperty指定的属性上。如果未指定,返回对象拿不到生成的值 --> insert into user(name,age,address) values(#{name},#{age},#{address}) </insert>
测试方法:
@Test public void addUserTest() { User user = new User("Lucy", 102, "Happy District"); SqlSession session = sqlSessionFactory.openSession(); try { IUserMapper mapper = session.getMapper(IUserMapper.class); int affectedCount = mapper.addUser(user); session.commit(); // 默认为不自动提交。调用session.getConnection().getAutoCommit()查看 log.info("{} new record was inserted successfully whose id: {}", affectedCount, user.getId()); } finally { session.close(); } }
3. 更新
接口添加方法:
int updateUser(User user);
User.xml添加:
<update id="updateUser" parameterType="User"> update `user` set name=#{name}, age=#{age}, address=#{address} where id=#{id} </update>
测试方法:
@Test public void updateUserTest() { SqlSession session = sqlSessionFactory.openSession(); try { IUserMapper mapper = session.getMapper(IUserMapper.class); User user = mapper.getUserById(8); user.setAddress("Satisfied District"); int affectedCount = mapper.updateUser(user); // 除了要修改的属性外,user的其它属性也要赋值,否则这些属性会被数据库更新为初始值(null或0等),可以先查询一次,但这样会增加和数据库不必要的交互。后面的条件判断能避免此问题。 log.info("Affected count: {}", affectedCount); session.commit(); } finally { session.close(); } }
4. 删除
接口添加方法:
int deleteUser(int id);
User.xml添加:
<delete id="deleteUser" parameterType="int"> delete from `user` where id=#{id} </delete>
测试方法:
@Test public void deleteUserTest() { SqlSession session = sqlSessionFactory.openSession(); try { IUserMapper mapper = session.getMapper(IUserMapper.class); int affectedCount = mapper.deleteUser(8); log.info("Affected count: {}", affectedCount); session.commit(); } finally { session.close(); } }
参考:
http://www.yihaomen.com/article/java/305.htm
发表评论
-
myBatis系列之七:事务管理
2014-04-01 15:36 104040myBatis系列之一:搭建开发环境 myBatis系列之二: ... -
myBatis系列之八:分页查询
2014-01-13 22:07 0分页查询:物理分页,不是内存分页: 1. 在sql语句中指定 ... -
myBatis系列之六:与SpringMVC集成
2013-12-26 13:33 5960myBatis系列之一:搭建开发环境 myBatis系列之二: ... -
myBatis系列之五:与Spring3集成
2013-12-09 14:31 5047myBatis系列之一:搭建开 ... -
myBatis系列之四:关联数据的查询
2013-12-08 13:36 9771myBatis系列之一:搭建开发环境 myBatis系列之二: ... -
myBatis系列之二:以接口方式交互数据
2013-11-25 22:46 12427myBatis系列之一:搭建开发环境 myBatis系列之三: ... -
myBatis系列之一:搭建开发环境
2013-11-18 22:00 8600myBatis系列之二:以接口方式交互数据 myBatis系列 ... -
JPA 一对一关联
2012-08-18 17:12 3280在一对一关联中,JPA没有规定谁为关系的维护方,OneToOn ... -
Hibernate 集合类型使用
2012-08-11 18:31 1379为了映射实体中的集合 ... -
Hibernate 组件关联关系
2012-08-11 15:10 1300实体关联的属性是个复杂类型的持久化类,但不是实体:数据库中没有 ... -
Hibernate 一对多关联配置
2012-08-09 22:13 1881以Department和Employee为例。 Depart ... -
Hibernate 继承关系配置
2012-08-08 23:33 4093以Department和Employee实体为例。Develo ... -
Hibernate 多对一关联配置
2012-08-08 21:51 28355实体是Employee和Department,它们之间是多对一 ... -
Hibernate 查询分析
2012-08-08 19:15 0private void fireLoad(LoadEv ... -
Hibernate 配置文件
2012-07-25 20:17 0<properties> < ... -
jdbc 批处理操作
2012-05-15 15:43 1460jdbc的批处理操作是指把一组SQL语句(增删改操作)一次性提 ... -
jdbc调用postgreSQL数据库内置函数
2012-05-08 16:02 31661. current_timestamp 返回的是当前的 ... -
构建Hibernate项目
2012-04-25 20:35 01. 新建一个Java Project 2. 添加hiber ... -
乐观锁与悲观锁
2012-04-24 22:50 2822悲观锁: 读取数据的时候对记录加锁,直到提交数据更新后解锁 ... -
Hibernate映射文件的配置
2012-04-20 22:21 01. type值不是指java类型或者数据库的类型,而是Hib ...
相关推荐
在实际开发中,将 MyBatis 整合到 Oracle 数据库进行数据操作,包括增删改查,是常见的需求。以下将详细介绍这个过程。 1. **环境准备** - **Oracle 数据库**:首先确保你已经安装并配置了 Oracle 数据库,创建好...
在本项目中,我们主要探讨的是如何利用SpringBoot框架与Mybatis进行数据库的增删改查操作。SpringBoot以其简洁的配置和快速的启动能力,成为现代Java开发中的热门选择,而Mybatis作为轻量级的持久层框架,提供灵活的...
本项目基于一系列技术栈,包括Spring Boot、MyBatis Plus、Gradle、MySQL和Swagger,实现了一个基础的增删改查(CRUD)功能,并提供了树形查询的能力。下面将详细介绍这些技术及其在项目中的应用。 **1. Spring ...
标题 "myBatis3.2.7增删改查 源码" 指的是一个关于myBatis 3.2.7版本的数据库操作框架的源代码资源,主要涉及的是基本的CRUD(创建Create、读取Read、更新Update、删除Delete)功能的实现。myBatis是一个优秀的持久...
例如,用户表的增删改查可以这样设计: ```java public interface UserMapper { User selectUserById(int id); void insertUser(User user); void updateUser(User user); void deleteUser(int id); } ``` ```...
在本项目中,我们将深入探讨MyBatis如何实现增删改查(CRUD)操作,多表联查,以及标签(Tags)的使用,并涵盖批量删除的功能。以下是关于这些主题的详细讲解。 1. **增删改查(CRUD)操作**: - **创建(Create)...
【标题】"springboot+mybatis+easyui增删改查分页Demo"是一个基于Spring Boot、MyBatis和EasyUI实现的Web应用程序示例,主要用于演示如何在这些技术栈中进行基本的数据操作,如添加(Add)、删除(Delete)、修改...
【SpringMVC+MyBatis+EasyUI 增删改查 Demo】是一个经典的Web开发教程,适合初学者上手。这个项目集成了三个关键的技术框架:SpringMVC作为控制器层,MyBatis作为持久层,EasyUI作为前端界面组件库,实现了基本的...
6. **增删改查操作**:在实际应用中,开发者通常会创建一系列的Mapper接口和XML映射文件,用于定义SQL语句。在Service层,通过Spring的@Autowired注解注入DAO,调用其方法实现数据的CRUD操作。Struts2的Action作为...
对于初学者来说,掌握如何使用Java操作Oracle数据库进行增删改查是基础且重要的技能。本教程将围绕这个主题展开,帮助你入门这一领域的知识。 一、Java数据库连接(JDBC) 在Java中与Oracle数据库交互,首先需要...
这个项目结合了这三个框架,以及Bootstrap前端框架,构建了一个基础的增删改查(CRUD)应用,非常适合初学者学习和理解。下面将详细解释这些框架的核心概念及其在项目中的作用。 1. Spring框架: Spring 是一个...
本项目结合这些技术,提供了完整的增删改查(CRUD)功能,以及登录和分页的实现,为初学者提供了一个良好的学习示例。 首先,SpringBoot是Spring框架的简化版,它集成了大量的常用组件,并且通过内嵌Tomcat服务器,...
标题 "spring+springMVC+mybatis+easyui 增删查改以及分页源码" 描述了一个使用SSM(Spring、SpringMVC、MyBatis)框架与EasyUI前端库联合实现的Web应用项目,特别是关注于CRUD(创建、读取、更新、删除)操作和无...
这个案例将向我们展示如何使用MyBatis-Plus进行基本的增删改查(CRUD)操作,并且实现自定义SQL的功能。下面,我们将详细讨论MyBatis-Plus的核心特性、配置以及具体的方法使用。 首先,MyBatis-Plus的核心特性包括...
本篇文档主要介绍了一个使用Spring Boot、MyBatis、Vue.js和ElementUI组合实现的增删改查实例。该实例包含后端的Spring Boot和MyBatis技术栈,以及前端的Vue.js框架和ElementUI组件库,目的是实现一个简单的数据管理...
在这个"struts2增删改查"项目中,开发者利用Struts2框架实现了对Oracle数据库中Emp和Dept两个表的数据操作,包括添加(Add)、删除(Delete)、修改(Update)和查询(Query)功能。以下是对这个项目涉及的关键知识...
这里我们关注的是如何使用自定义框架来实现用户管理中的基本操作:增删改查。这个主题通常涉及到Web开发,尤其是Java平台上的MVC(Model-View-Controller)架构,例如Struts框架。以下将详细介绍这一过程。 首先,...
结合这些框架和数据库,"S2SExtMybatisForMysql增删改查"项目很可能是构建了一个基于Struts2、Spring、Ext和Mybatis的Java Web应用,该应用利用DWR进行前后端通信,通过Ext来设计用户界面,使用Spring管理依赖并处理...
"02-动力节点-学生-毕业设计-超市订单管理_增删改查_会员管理系统_" 这个标题表明这是一个由动力节点教育机构的学生在毕业设计项目中完成的作品,主要关注的是超市订单管理和会员管理系统的实现。其中,“增删改查”...
具体到数据库的增删改查操作,DAL会提供一系列接口或抽象类,定义了CRUD(Create, Read, Update, Delete)方法。BLL调用这些接口,执行实际的数据操作。例如,创建一个新记录可能对应一个`save()`方法,查询数据可能...