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();
}

猜你喜欢

转载自shuizhongyue.iteye.com/blog/2297842