package cn.itcast.domain;

 import java.util.Date;

 public class User {

     private int id;
private String name;
private Date birthday;
private float money; 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 Date getBirthday() {
return birthday;
} public void setBirthday(Date birthday) {
this.birthday = birthday;
} public float getMoney() {
return money;
} public void setMoney(float money) {
this.money = money;
} }

User

 package cn.itcast.dao;

 import java.sql.SQLException;

 import cn.itcast.domain.User;

 public interface UserDao {

     public void addUser(User user) throws SQLException;

     public User getUser(int userId);

     public void update(User user);

     public void delete(User user);

     public User findUser(String userName,String password);

 }

UserDao

 package cn.itcast.dao.impl;

 import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import cn.itcast.dao.UserDao;
import cn.itcast.domain.User;
import cn.itcast.exception.DaoException;
import cn.itcast.jdbc.jdbcUtils; public class UserDaoJdbcImpl implements UserDao { @Override
public void addUser(User user) throws DaoException { Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null; try {
// 建立连接
conn = jdbcUtils.getConnection(); String sql = "insert into user(name,birthday,money) values(?,?,?)";
ps = conn.prepareStatement(sql); ps.setString(1, user.getName());
ps.setDate(2, new java.sql.Date(user.getBirthday().getTime()));
ps.setFloat(3, user.getMoney()); ps.executeUpdate(); } catch (SQLException e) {
throw new DaoException(e.getMessage(), e);
} finally {
jdbcUtils.free(rs, ps, conn);
} } @Override
public User getUser(int userId) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
User user = null; try {
conn = jdbcUtils.getConnection();
String sql = "select id,name,money,birthday from user where id = ?";
ps = conn.prepareStatement(sql);
ps.setInt(1, userId);
rs = ps.executeQuery(); while (rs.next()) { user = mappingUser(rs); } } catch (SQLException e) {
throw new DaoException(e.getMessage());
} finally {
jdbcUtils.free(rs, ps, conn);
} return user;
} public User mappingUser(ResultSet rs) throws SQLException {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setMoney(rs.getFloat("money"));
user.setBirthday(rs.getDate("birthday"));
return user;
} @Override
public void update(User user) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null; try {
conn = jdbcUtils.getConnection();
String sql = "update user set name = ?,money=? where id=?";
ps = conn.prepareStatement(sql);
ps.setString(1, user.getName());
//ps.setDate(2, new java.sql.Date(user.getBirthday().getTime()));
ps.setFloat(2, user.getMoney());
ps.setInt(3, user.getId()); ps.executeUpdate(); } catch (SQLException e) {
new DaoException(e.getMessage());
} finally {
jdbcUtils.free(rs, ps, conn);
} } @Override
public void delete(User user) { Connection conn = null;
Statement st = null;
ResultSet rs = null; try {
conn = jdbcUtils.getConnection();
st = conn.createStatement();
String sql = "delete from user where id=" + user.getId();
st.executeUpdate(sql); } catch (SQLException e) {
throw new DaoException(e.getMessage());
} finally {
jdbcUtils.free(rs, st, conn);
} } @Override
public User findUser(String userName, String password) { Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
User user = null; try {
conn = jdbcUtils.getConnection();
String sql = "select id,name,money,birthday from user where name = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, userName);
rs = ps.executeQuery(); while (rs.next()) {
user = mappingUser(rs);
} } catch (SQLException e) {
throw new DaoException(e.getMessage());
} finally {
jdbcUtils.free(rs, ps, conn);
} return user;
} }

UserDaoJdbcImpl

 package cn.itcast.exception;

 public class DaoException extends RuntimeException {

     private static final long serialVersionUID = 1L;

     public DaoException() {
super();
// TODO Auto-generated constructor stub
} public DaoException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
} public DaoException(String message) {
super(message);
// TODO Auto-generated constructor stub
} public DaoException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
} }

DaoException

 package cn.itcast.jdbc;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class jdbcUtils { private static String url = "jdbc:mysql://localhost:3306/jdbc";
private static String user = "root";
private static String password = "123"; private jdbcUtils() { } static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, user, password);
} public static void free(ResultSet rs, Statement st, Connection conn) { try {
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally { try {
if (st != null)
st.close();
} catch (SQLException e) {
e.printStackTrace();
} finally { try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
} } }
}

jdbcUtils

 package cn.itcast.dao;

 import java.sql.SQLException;
import java.util.Date; import cn.itcast.dao.impl.UserDaoJdbcImpl;
import cn.itcast.domain.User; public class UserTest { /**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException { UserDao userDao = new UserDaoJdbcImpl(); //User user = new User();
//user.setBirthday(new Date());
//user.setName("dao name1");
//user.setMoney(1000.0f); // userDao.addUser(user);
//
// User u = userDao.findUser(user.getName(),null);
// System.out.println(u.getId()); User u = userDao.getUser(1); u.setMoney(2000.0f);
userDao.update(u); User u1 = userDao.getUser(1);
userDao.delete(u1); } }

UserTest

最新文章

  1. js 时间构造函数
  2. Android 媒体存储服务(一)
  3. 我的Eclipse快捷键.
  4. el 表达式 和 ognl表达式
  5. alert()、confirm()和prompt()的区别
  6. Java [Leetcode 205]Isomorphic Strings
  7. ASDL + WN725N 配置无线AP
  8. 你所不知道的五件事情--java.util.concurrent(第一部分)
  9. 10个工具让你的 shell 脚本更强大
  10. Parallel Python——一个简单的分布式计算系统
  11. 一个可以直接使用的MsgBox基于form居中API
  12. 【 js 基础 】【 源码学习 】源码设计 (持续更新)
  13. Java之数字处理类浅析
  14. cobaltstrike安装加破解教程+使用教程
  15. 吴恩达课后作业学习2-week3-tensorflow learning-1-基本概念
  16. IPMI无法执行命令
  17. [漏洞分析]thinkphp 5.1.25 insert、insetAll、update方法注入
  18. last
  19. Vue项目开发之打包后背景图片路径错误的坑
  20. VS2017专业版使用最新版Qt5.9.2教程

热门文章

  1. inotify监控文件变化
  2. redis的安装及使用
  3. 【NodeJS】环境变量配置
  4. CPPFormatLibary提升效率的优化原理
  5. 【手把手教你全文检索】Apache Lucene初探
  6. Spring 自带的定时任务
  7. SQL SERVER 数据导出JSON
  8. iis下搭建通过phpstudy集成的环境,phpmyadmin导入数据库无法应解决办法
  9. 【历史】JavaScript和Java没啥关系!————JavaScript简史
  10. C#_取随机字符