`

CRUD操作

 
阅读更多

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操作实例

    本实例将深入探讨如何实现一个完整的Spring MVC CRUD操作。 首先,我们来了解CRUD操作的基本概念。CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)的首字母缩写,代表了数据库操作中最基本的...

    Hibernate基本增删改CRUD操作

    **Hibernate基本增删改CRUD操作** 在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者无需直接编写SQL语句,就能实现对象与关系数据库之间的映射。本教程将深入讲解如何使用...

    SpringMVC 使用 RESTful 架构实现 CRUD 操作

    在本教程中,我们将探讨如何使用 SpringMVC 实现基于 RESTful 风格的 CRUD(Create、Read、Update、Delete)操作。 **CRUD 操作概述** CRUD 操作是任何数据驱动应用的基础,它们分别代表创建新记录、读取现有记录、...

    基于SSM框架的简单CRUD操作

    SSM框架,全称为Spring、SpringMVC和MyBatis的组合,是...通过这个简单的SSM CRUD操作项目,你可以深入理解这三大框架如何协同工作,以及它们在实际开发中的应用。这是一个很好的起点,为更复杂的应用打下坚实的基础。

    xml文件操作详解crud操作

    下面将详细讲解XML文件的CRUD操作。 1. **创建(Create)** 创建XML文件首先要定义其基本结构,包括元素(Element)、属性(Attribute)和文本内容。一个简单的XML文件示例如下: ```xml 张三 &lt;age&gt;20 ...

    SSH实现分页模型和CRUD操作

    在CRUD操作中,Spring的Service层负责具体的业务逻辑,通过依赖注入获取Hibernate的Session,执行数据库操作。 **Hibernate** 是一个对象关系映射(ORM)框架,它将Java对象与数据库表进行映射,简化了数据库操作。...

    Contact Manager Web API 示例[1]CRUD 操作 - 张善友

    该示例项目是一个基于ASP.NET Web API的应用程序,用于演示如何通过Web API实现对联系人信息的基本操作——创建(Create)、读取(Read)、更新(Update)和删除(Delete),即CRUD操作。 #### 二、CRUD操作详解 CRUD操作...

    jdbc资料(数据库crud操作)

    【jdbc资料(数据库crud操作)】 JDBC(Java Database Connectivity)是Java编程语言中用于与关系数据库交互的一种标准接口。它是由Sun Microsystems公司提出的,现在是Oracle公司的一部分,旨在为Java开发者提供一...

    SSM框架CRUD操作以及分页

    在SSM中,MyBatis作为数据访问层,负责与数据库交互,执行CRUD操作。 **四、分页技术** 在处理大量数据时,分页是提高性能和用户体验的重要手段。在这个项目中,可能采用了自定义标签来实现分页。自定义标签可以在...

    NoSQL之MongoDB的CRUD操作

    NoSQL之MongoDB的CRUD操作 比较全面的MongoDB操作,支持面向对象. 详情http://blog.csdn.net/dengwanchuan/article/details/7514431

    Hibernate与JDBC对于数据库CRUD操作性能示例

    Hibernate与JDBC对于数据库的性能操作对比事例,配置,更多信息资源

    android数据库的crud操作

    ### Android数据库CRUD操作详解 #### 一、引言 在Android开发中,数据库操作是一项非常重要的技术。本文档主要介绍了Android中对于SQLite数据库的基本增删改查(CRUD)操作,并通过一个具体的例子——“SimpleMessage...

    Dubbo+Springboot远程服务CRUD操作demo

    Dubbo+Springboot远程服务CRUD操作demo,maven创建pom聚合工程将服务调用和服务提供分离(即服务消费者和服务提供者),zookeeper作为注册中心,dubbo实现服务的提供和调用。

    Struts实现CRUD操作

    Struts是一个开源的Java EE框架,它主要用于构建基于MVC...Struts_CRUD_Test压缩包可能包含了示例代码、配置文件以及用于测试这些操作的JSP页面,你可以通过学习和运行这些例子来更深入地理解Struts如何处理CRUD操作。

    jpa对表的crud操作

    在JPA中,对表的CRUD操作主要通过`EntityManager`接口来实现,下面我们将详细介绍这些操作。 1. 创建(Create) 在JPA中,创建新记录通常使用`EntityManager`的`persist()`方法。例如,创建一个新的`Person`对象并...

    JspWeb开发CRUD 操作

    在IT领域的软件开发中,尤其是基于Java平台的Web应用程序开发,CRUD操作是核心功能之一。CRUD,即Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库操作中最基本也是最频繁使用的四个操作。...

    gwt 3.2.0 crud 操作

    首先,让我们理解CRUD操作的含义: 1. **创建(Create)**: 这个操作涉及到在数据库或数据存储中新增一条记录。 2. **读取(Read)**: 读取数据是最常见的操作,包括获取单个记录或多个记录,并展示给用户。 3. **...

    ibatis实现CRUD操作

    Ibatis通过XML或注解方式定义和配置SQL映射,将Java对象和数据库记录进行映射,实现了数据的CRUD操作。 在实现CRUD操作时,Ibatis有以下核心组件: 1. SQL Map配置文件:这是Ibatis的核心,用于存放SQL语句及其...

    Python数据库CRUD操作全指南:从连接到实现

    CRUD操作是数据库编程的基础。在Python中,我们可以使用sqlite3模块进行SQLite数据库的操作,也可以通过第三方库连接MySQL、PostgreSQL等数据库。通过直接执行SQL语句或使用ORM框架,我们可以方便地实现CRUD操作。...

    基于SSM框架的简单的CRUD操作

    在这个CRUD操作示例中,前端使用了jQuery框架,这是一个轻量级的JavaScript库,提供了丰富的DOM操作、事件处理、动画效果等功能。jQuery使得开发者能更方便地进行页面交互,提高了开发效率。 项目使用Maven作为构建...

Global site tag (gtag.js) - Google Analytics