java操作mysql数据库实例(一)

2014-11-24 14:03:08 · 作者: · 浏览: 0
//接口类
package com.syxy.dao;


import com.syxy.domain.User;


//操纵数据库的 dao接口
public interface UserDao {
       //加入一个用户
       public void addUser(User user);
       //得到一个用户
       public User getUser( int userId);
       //寻找一个用户
       public User findUser(String loginName);
       //更新用户数据
       public void update(User user);
       //删除一个用户
       public void delete(User user);
}


//接口的实现类
package com.syxy.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.syxy.dao.UserDao;
import com.syxy.domain.User;
import com.syxy.utils.jdbcUtils;

public class UserDaoJdbcImpl implements UserDao {

     @Override
     public void addUser(User user) {
          // TODO Auto-generated method stub
          Connection conn = null;
          PreparedStatement ps = null;
          ResultSet rs = null;
          try {
               conn = jdbcUtils.getConnection();
               String sql = "insert into user(name, birthday, monery) 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 (Exception e) {
               e.printStackTrace();
          }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 (Exception e) {
               e.printStackTrace();
          }finally{
               jd
bcUtils.free(rs, ps, conn); } return user; } @Override public User findUser(String loginName) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; User user = null; try { conn = jdbcUtils.getConnection(); String sql = "select id,money,birthday from user where name= "; ps = conn.prepareStatement(sql); ps.setString(1, loginName); rs = ps.executeQuery(); while(rs.next()){ user = MappingUser(rs); } } catch (Exception e) { e.printStackTrace(); }finally{ jdbcUtils.free(rs, ps, conn); } return user; } private 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= , birthday= , money= where id= "; 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.setInt(4, user.getId()); ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ jdbcUtils.free(rs, ps, conn); } } @Override public void delete(User user) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = jdbcUtils.getConnection(); String sql = "delete from user where id= "; ps = conn.prepareStatement(sql); ps.setInt(1, user.getId()); ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ jdbcUtils.free(rs, ps, c