CRUD操作主要有两种方式,xml配置文件方式和接口注解方式
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/hous/day2/userMapper.xml" /> <!-- <mapper class="com.hous.day2.i.UserMapper" /> --> </mappers> </configuration>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.hous.day2.userMapper"> <insert id="addUser" parameterType="com.hous.day2.User"> insert into users(name, age) values(#{name},#{age}) </insert> <delete id="deleteUser" parameterType="int"> delete from users where id=#{id} </delete> <update id="updateUser" parameterType="com.hous.day2.User"> update users set name=#{name},age=#{age} where id=#{id} </update> <select id="getUser" parameterType="int" resultType="com.hous.day2.User"> select * from users where id=#{id} </select> <select id="getAllUsers" resultType="com.hous.day2.User"> select * from users </select> </mapper>
package com.hous.day2; public class User { private int id; private String name; private int age; public User() { super(); } public User(String name, int age) { super(); this.name = name; this.age = age; } public User(int id, String name, int age) { super(); this.id = id; this.name = name; this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; } }
package com.hous.day2; import static org.junit.Assert.*; import java.io.InputStream; import java.util.List; import java.util.Random; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Before; import org.junit.Test; import com.hous.day2.i.UserMapper; public class MyTest { private SqlSession session = null; @Before public void setUp() throws Exception { String resource = "day2/config.xml"; InputStream config = MyTest.class.getClassLoader().getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(config); // openSession可以设置为true自动提交,false手工提交 session = factory.openSession(); } @Test public void testAdd() { String statement = "com.hous.day2.userMapper.addUser"; int insert = session.insert(statement, new User("hous", new Random().nextInt(130))); System.out.println("增加影响的行数:" + insert); session.commit(); session.close(); } @Test public void testDelete() { String statement = "com.hous.day2.userMapper.deleteUser"; int delete = session.delete(statement, 7); System.out.println("删除影响的行数:" + delete); session.commit(); session.close(); } @Test public void testUpdate() { String statement = "com.hous.day2.userMapper.updateUser"; int update = session.update(statement, new User(3, "shanshanbox", new Random().nextInt(317))); System.out.println("更新影响行数:" + update); session.commit(); session.close(); } @Test public void testGetUser() { String statement = "com.hous.day2.userMapper.getUser"; User user = session.selectOne(statement, 2); System.out.println("查询单个用户" + user.toString()); session.commit(); session.close(); } @Test public void testAllUsers() { String statement = "com.hous.day2.userMapper.getAllUsers"; List<User> users = session.selectList(statement); System.out.println("查询所有用户" + users.toString()); session.commit(); session.close(); } @Test public void testAdd2() { UserMapper mapper = session.getMapper(UserMapper.class); int add = mapper.add(new User("shanshanbox", new Random().nextInt(130))); System.out.println("影响行数:" + add); session.commit(); session.close(); } }
用接口和注解的方式实现CURD操作
package com.hous.day2.i; import java.util.List; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import com.hous.day2.User; public interface UserMapper { @Insert("insert into users(name, age) values(#{name},#{age})") public int add(User user); @Delete("delete from users where id=#{id}") public int delete(int id); @Update("update users set name=#{name},age=#{age} where id=#{id}") public int update(User user); @Select("select * from users where id=#{id}") public User getUser(int id); @Select("select * from users") public List<User> getAllUsers(); }
相关推荐
本实例将深入探讨如何实现一个完整的Spring MVC CRUD操作。 首先,我们来了解CRUD操作的基本概念。CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)的首字母缩写,代表了数据库操作中最基本的...
**Hibernate基本增删改CRUD操作** 在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者无需直接编写SQL语句,就能实现对象与关系数据库之间的映射。本教程将深入讲解如何使用...
在本教程中,我们将探讨如何使用 SpringMVC 实现基于 RESTful 风格的 CRUD(Create、Read、Update、Delete)操作。 **CRUD 操作概述** CRUD 操作是任何数据驱动应用的基础,它们分别代表创建新记录、读取现有记录、...
SSM框架,全称为Spring、SpringMVC和MyBatis的组合,是...通过这个简单的SSM CRUD操作项目,你可以深入理解这三大框架如何协同工作,以及它们在实际开发中的应用。这是一个很好的起点,为更复杂的应用打下坚实的基础。
下面将详细讲解XML文件的CRUD操作。 1. **创建(Create)** 创建XML文件首先要定义其基本结构,包括元素(Element)、属性(Attribute)和文本内容。一个简单的XML文件示例如下: ```xml 张三 <age>20 ...
在CRUD操作中,Spring的Service层负责具体的业务逻辑,通过依赖注入获取Hibernate的Session,执行数据库操作。 **Hibernate** 是一个对象关系映射(ORM)框架,它将Java对象与数据库表进行映射,简化了数据库操作。...
该示例项目是一个基于ASP.NET Web API的应用程序,用于演示如何通过Web API实现对联系人信息的基本操作——创建(Create)、读取(Read)、更新(Update)和删除(Delete),即CRUD操作。 #### 二、CRUD操作详解 CRUD操作...
【jdbc资料(数据库crud操作)】 JDBC(Java Database Connectivity)是Java编程语言中用于与关系数据库交互的一种标准接口。它是由Sun Microsystems公司提出的,现在是Oracle公司的一部分,旨在为Java开发者提供一...
在SSM中,MyBatis作为数据访问层,负责与数据库交互,执行CRUD操作。 **四、分页技术** 在处理大量数据时,分页是提高性能和用户体验的重要手段。在这个项目中,可能采用了自定义标签来实现分页。自定义标签可以在...
NoSQL之MongoDB的CRUD操作 比较全面的MongoDB操作,支持面向对象. 详情http://blog.csdn.net/dengwanchuan/article/details/7514431
Hibernate与JDBC对于数据库的性能操作对比事例,配置,更多信息资源
### Android数据库CRUD操作详解 #### 一、引言 在Android开发中,数据库操作是一项非常重要的技术。本文档主要介绍了Android中对于SQLite数据库的基本增删改查(CRUD)操作,并通过一个具体的例子——“SimpleMessage...
Dubbo+Springboot远程服务CRUD操作demo,maven创建pom聚合工程将服务调用和服务提供分离(即服务消费者和服务提供者),zookeeper作为注册中心,dubbo实现服务的提供和调用。
Struts是一个开源的Java EE框架,它主要用于构建基于MVC...Struts_CRUD_Test压缩包可能包含了示例代码、配置文件以及用于测试这些操作的JSP页面,你可以通过学习和运行这些例子来更深入地理解Struts如何处理CRUD操作。
在JPA中,对表的CRUD操作主要通过`EntityManager`接口来实现,下面我们将详细介绍这些操作。 1. 创建(Create) 在JPA中,创建新记录通常使用`EntityManager`的`persist()`方法。例如,创建一个新的`Person`对象并...
在IT领域的软件开发中,尤其是基于Java平台的Web应用程序开发,CRUD操作是核心功能之一。CRUD,即Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库操作中最基本也是最频繁使用的四个操作。...
首先,让我们理解CRUD操作的含义: 1. **创建(Create)**: 这个操作涉及到在数据库或数据存储中新增一条记录。 2. **读取(Read)**: 读取数据是最常见的操作,包括获取单个记录或多个记录,并展示给用户。 3. **...
Ibatis通过XML或注解方式定义和配置SQL映射,将Java对象和数据库记录进行映射,实现了数据的CRUD操作。 在实现CRUD操作时,Ibatis有以下核心组件: 1. SQL Map配置文件:这是Ibatis的核心,用于存放SQL语句及其...
CRUD操作是数据库编程的基础。在Python中,我们可以使用sqlite3模块进行SQLite数据库的操作,也可以通过第三方库连接MySQL、PostgreSQL等数据库。通过直接执行SQL语句或使用ORM框架,我们可以方便地实现CRUD操作。...
在这个CRUD操作示例中,前端使用了jQuery框架,这是一个轻量级的JavaScript库,提供了丰富的DOM操作、事件处理、动画效果等功能。jQuery使得开发者能更方便地进行页面交互,提高了开发效率。 项目使用Maven作为构建...