03.2CRUD所有代码
1.userDao类
package com.yang.dao;
import com.yang.beans.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface UserDao {
/**
* 查询所有的用户
*/
List<User> foundAllUsers();
/**
* 保存用户
*/
void saveUser(User user);
/*
更新用户
*/
void updateUser(User user);
/*
删除用户根据id
*/
void deleteUser(Integer userId);
/*
查询一个用户根据id
*/
User selectById(Integer uid);
/*
模糊查询
*/
List<User> selectByName(String name);
/*
查询用户的个数
*/
int selectTotal();
}
2.userDao.xml
<?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.yang.dao.UserDao" >
<!--查询所有的用户-->
<select id="foundAllUsers" resultType="com.yang.beans.User">
Select * from user
</select>
<!--保存用户-->
<insert id="saveUser" parameterType="com.yang.beans.User">
insert into user(uname, pwd, pho, age, addr) values (#{uname},#{pwd},#{pho},#{age},#{addr})
</insert>
<!--更新用户-->
<update id="updateUser" parameterType="com.yang.beans.User">
update user set uname=#{uname},pwd=#{pwd},pho=#{pho},addr=#{addr}where id=#{id}
</update>
<!--删除用户-->
<delete id="deleteUser" parameterType="Integer">
delete from user where id=#{uid}
</delete>
<!--查询一个用户根据id-->
<select id="selectById" parameterType="Integer" resultType="com.yang.beans.User">
select *from user where id=#{uid}
</select>
<!--模糊查询-->
<select id="selectByName" parameterType="string" resultType="com.yang.beans.User" >
select * from user where uname like #{uname}
</select>
<!--查询用户的个数-->
<select id="selectTotal" resultType="int">
select count(id) from user
</select>
</mapper>
3.test类
import com.yang.beans.User;
import com.yang.dao.UserDao;
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;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class test01 {
private InputStream in;
private SqlSessionFactory factory;
private SqlSession session;
private UserDao userDao;
@Before
public void init(){
//1.读取配置文件
try {
in = Resources.getResourceAsStream("SqlMapConfig.xml");
} catch (IOException e) {
e.printStackTrace();
}
//2.创建SqlSessionFactory工厂
SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
factory=builder.build(in);
//3.使用工厂生产SqlSession对象
session = factory.openSession();
//4.生产代理
userDao = session.getMapper(UserDao.class);
}
@After
public void destory(){
//6.释放资源
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void testFindAllUsers() {
//5.通过对象调用方法
List<User> users = userDao.foundAllUsers();
for (User user: users
) {
System.out.println(user);
}
}
@Test
public void testSaveUser(){
//5.通过对象调用方法
User user = new User();
user.setAddr("12300");
user.setAge(12);
user.setPho("15396789456");
user.setPwd("56456");
user.setUname("tong");
userDao.saveUser(user);
//提交事务
session.commit();
}
@Test
public void testUpdateUser(){
//5.通过对象调用方法
User user = new User();
user.setId(5);
user.setAddr("12300");
user.setAge(12);
user.setPho("15396789456");
user.setPwd("56456");
user.setUname("update");
userDao.updateUser( user);
//提交事务
session.commit();
}
@Test
public void testDeleteUser(){
//5.通过对象调用方法
userDao.deleteUser(1);
//提交事务
session.commit();
}
@Test
public void testSelectById(){
//5.通过对象调用方法
User user = userDao.selectById(2);
System.out.println(user);
}
@Test
public void testSelectByName(){
//5.通过对象调用方法 模糊需要提供%号
List<User> users = userDao.selectByName("%y%");
for (User user: users
) {
System.out.println(user);
}
}
@Test
public void testSelectTotal(){
int i = userDao.selectTotal();
System.out.println(i);
}
}