java-DAO层

package cn.itsourc.test.dao;

import java.util.List;

import cn.itsourc.test.daomain.User;

/**
 * 查询:基于id查询	查询所有
 * 新增:新增数据
 * 删除:基于id删除
 * 修改:基于id修改数据
 * @author Carroll
 *
 */
public interface IUserDao {

	/**
	 * 基于id查询user
	 * @param id
	 * @return
	 */
	User selectOne(Long id);
	
	/**
	 * 查询所有user
	 * @return
	 */
	List<User> selectAll();
	
	/**
	 * 添加user数据
	 * @param user
	 */
	void addOne(User user);
	
	/**
	 * 通过id删除一条数据
	 * @param id
	 */
	void delete(Long id);
	
	/**
	 * 修改数据
	 * @param user
	 */
	void update(User user);
}

package cn.itsourc.test.dao.daoimpl;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import cn.itsourc.test.Util.JDBCUtil;
import cn.itsourc.test.dao.IUserDao;
import cn.itsourc.test.daomain.User;

public class UserDaoImpl implements IUserDao{
	//根据id查找数据
	@Override
	public User selectOne(Long id) {
		Connection  conn = null;
		Statement sta = null;
		ResultSet result = null;
		try {
			//获取连接
			conn = JDBCUtil.getConnection();
			//创建语句对象
			sta = conn.createStatement();
			//编写sql语句
			String sql = "SELECT * FROM user WHERE id = "+id;
			//执行sql
			result = sta.executeQuery(sql);
			while(result.next()){
				return new User(result.getLong("id"),result.getString("username"),result.getString("password"));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			JDBCUtil.slose(conn, result, sta);
		}
		return null;
	}

	//查询全部
	@Override
	public List<User> selectAll() {
		Connection  conn = null;
		Statement sta = null;
		ResultSet result = null;
		try {
			//获取连接
			conn = JDBCUtil.getConnection();
			sta = conn.createStatement();
			String sql = "SELECT * FROM user";
			result = sta.executeQuery(sql);
			List<User> users = new ArrayList<User>();
			while(result.next()){
				users.add(new User(result.getLong("id"),result.getString("username"),result.getString("password")));
			}
			return users;
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			JDBCUtil.slose(conn, result, sta);
		}
		return null;
	}
	
	//添加数据
	@Override
	public void addOne(User user) {
		Connection  conn = null;
		Statement sta = null;
		ResultSet result = null;
		try {
			//获取连接
			conn = JDBCUtil.getConnection();
			sta = conn.createStatement();
			String sql = "INSERT INTO user (username,password) VALUES ('"+user.getUsername()+"','"+user.getPassword()+"')";
			sta.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			JDBCUtil.slose(conn, result, sta);
		}
	}

	/**
	 * 通过id删除一条数据
	 * @param id
	 */
	@Override
	public void delete(Long id) {
		Connection  conn = null;
		Statement sta = null;
		ResultSet result = null;
		try {
			//获取连接
			conn = JDBCUtil.getConnection();
			//获取语句对象
			sta = conn.createStatement();
			//编写sql语句
			String sql = "DELETE FROM user WHERE id = "+id;
			//执行
			sta.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			JDBCUtil.slose(conn, result, sta);
		}
	}

	/**
	 * 测试修改一条数据
	 * @throws Exception
	 */
	@Override
	public void update(User user) {
		Connection  conn = null;
		Statement sta = null;
		ResultSet result = null;
		try {
			//获取连接
			conn = JDBCUtil.getConnection();
			//获取语句对象
			sta = conn.createStatement();
			//编写sql语句
			String sql = "UPDATE user SET username = '"+user.getUsername()+"', password = '"+user.getPassword()+"' WHERE id = "+user.getId();
			//执行
			sta.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			JDBCUtil.slose(conn, result, sta);
		}
	}

}

package cn.itsourc.test.daomain;

public class User {

	private Long id;
	private String username;
	private String password;
	
	public User() {
		// TODO Auto-generated constructor stub
	}

	public User(Long id, String username, String password) {
		this.id = id;
		this.username = username;
		this.password = password;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
	}
	
	
	
}

测试

package cn.itsourc.test._01;

import static org.junit.Assert.*;

import java.util.List;

import org.junit.Test;
import cn.itsourc.test.dao.daoimpl.UserDaoImpl;
import cn.itsourc.test.daomain.User;

public class UserTest {

	//查询全部
	@Test
	public void testName() throws Exception {
		UserDaoImpl ud = new UserDaoImpl();
		List<User> user = ud.selectAll();
		user.forEach(System.out::println);
	}
	
	//根据id查询
	@Test
	public void test2() throws Exception {
		UserDaoImpl ud = new UserDaoImpl();
		User user = ud.selectOne(4L);
		System.out.println(user);
	}
	
	//添加数据
	@Test
	public void test3() throws Exception {
		UserDaoImpl ud = new UserDaoImpl();
		ud.addOne(new User(null,"肖梓博","12233"));
	}
	
	//根据id删除数据
	@Test
	public void test4() throws Exception {
		UserDaoImpl ud = new UserDaoImpl();
		ud.delete(7L);
	}
	
	@Test
	public void test5() throws Exception {
		UserDaoImpl ud = new UserDaoImpl();
		ud.update(new User(6L,"肖梓博","12233"));
	}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值