通过JDBC链接数据库并执行数据库语句

此表中的内容是JDBC链接数据库并用于调用sql语句
import java.sql.Connection;  
import java.sql.PreparedStatement;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.sql.Statement;  
import java.util.ArrayList;  
import java.util.HashMap;  
import java.util.List;  
import java.util.Map;  
  
import com.yy.servlet.po.User;  
import com.yy.servlet.util.DBconnectionUitl;  
  
/** 
 * @author kouyang 
 * 
 */  
public class UserDao {  
    //单例模式  
    public UserDao(){  
          
    }  
    private static UserDao userDao = new UserDao();  
    public static UserDao getInstance(){  
        return userDao;  
    }  
      
    public boolean saveUser(User user){  
        boolean flag = false;  
          
        Connection conn = null;  
        Statement st = null;  
        String sql = "";  
        try {  
            //获取连接  
            conn = DBconnectionUitl.getConnection();  
            //产生执行sql语句的对象  
            st = conn.createStatement();  
              
            //拼凑sql语句  
            sql = "insert into user(username,sex,password) values ('"   
                + user.getUsername() + "',"  
                + user.getSex() + ",'"  
                + user.getPassword() + "'"  
                + ")";  
            System.out.println(sql);  
            //最好使用PreparedStatement此处为示例  
            //执行sql语句  
            int rows = st.executeUpdate(sql);  
            if(rows != 0)  
                flag = true;  
        } catch (SQLException e) {  
            e.printStackTrace();  
        } finally {  
            DBconnectionUitl.closeAll(null, st, conn);  
        }  
        return flag;  
    }  
      
    public User getMap(Map<String,String> map){  
    //查询数据库中表user中的username与password  
        User user = null;  
          
        Connection conn = null;  
        PreparedStatement ps = null;  
          
        ResultSet rs = null;  
        String sql = "select * from user where username = ? and password = ?";//添加sql语句  
        try {  
            conn = DBconnectionUitl.getConnection();//加载驱动并链接数据库(封装内容)  
            ps = conn.prepareStatement(sql);//执行sql语句  
            ps.setString(1, map.get("username"));//sql语句中的第一个问号  
            ps.setString(2, map.get("password"));//sql语句中的第二个问号  
              
            rs = ps.executeQuery();  
            while(rs.next()){  
                user = new User();  
                user.setUserId(rs.getInt("userId"));  
                user.setUsername(rs.getString("username"));  
                user.setSex(rs.getInt("sex"));  
                user.setPassword(rs.getString("password"));  
                user.setFlag(rs.getInt("flag"));  
            }//通过while循环获取查询到的数据  
        } catch (SQLException e) {  
            e.printStackTrace();  
        } finally {  
            DBconnectionUitl.closeAll(rs, ps, conn);//关闭  
        }  
        return user;  
    }  
      
      
    public boolean saveUser2(User user2){  
    //通过jdbc把username与password添加到表user中  
        boolean flag = false;  
          
        Connection conn = null;  
        PreparedStatement ps  = null;  
        String sql = "insert into user(username,password) values (?,?)";  
        try {  
            conn = DBconnectionUitl.getConnection();  
            ps = conn.prepareStatement(sql);  
            ps.setString(1,user2.getUsername());  
            ps.setString(2,user2.getPassword());  
            System.out.println(sql);  
            int rows = ps.executeUpdate();  
            if(rows != 0)  
                flag = true;  
        } catch (SQLException e) {  
            e.printStackTrace();  
        } finally {  
            DBconnectionUitl.closeAll(null, ps, conn);  
        }  
        return flag;  
  
    }  
      
      
    public User getUserByusername(String username){  
//通过表user中的username查询表user中的相关信息  
        User user = null;  
          
        Connection conn = null;  
        PreparedStatement ps = null;  
          
        ResultSet rs = null;  
        String sql = "select * from user where username = ?";  
        try {  
            conn = DBconnectionUitl.getConnection();  
            ps = conn.prepareStatement(sql);  
            ps.setString(1, username);  
              
            rs = ps.executeQuery();  
            while(rs.next()){  
                user = new User();  
                user.setUserId(rs.getInt("userId"));  
                user.setUsername(rs.getString("username"));  
                user.setSex(rs.getInt("sex"));  
                user.setPassword(rs.getString("password"));  
                user.setFlag(rs.getInt("flag"));  
            }  
        } catch (SQLException e) {  
            e.printStackTrace();  
        } finally {  
            DBconnectionUitl.closeAll(rs, ps, conn);  
        }  
        return user;  
    }

此段代码为上段的封装内容

import java.io.InputStream;  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.PreparedStatement;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.sql.Statement;  
import java.util.Properties;  
  
//封装jdbc中的关联数据库与关闭界面  
public class DBconnectionUitl {  
    private static String jdbcDriver = "";  
    private static String jdbcURL = "";  
    private static String jdbcUser = "";  
    private static String jdbcPassword = "";  
      
      
    static {  
        InputStream is = null;//获取数据流  
        Properties p = new Properties();  
        try {  
            is = DBconnectionUitl.class.getClassLoader().getResourceAsStream("jdbc.properties");//通过数据流调用jdbc.properties中存储的登录信息  
            p.load(is);  
              
            jdbcDriver = p.getProperty("jdbcDriver");  
            jdbcURL = p.getProperty("jdbcURL");  
            jdbcUser = p.getProperty("jdbcUser");  
            jdbcPassword = p.getProperty("jdbcPassword");  
            //匹配jdbc.properties中的相关信息  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
      
    public static Connection getConnection(){  
        Connection conn = null;  
        try {  
            Class.forName(jdbcDriver);//加载驱动  
            conn = DriverManager.getConnection(jdbcURL, jdbcUser, jdbcPassword);//链接数据库  
        } catch (ClassNotFoundException e) {  
            e.printStackTrace();  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }  
        return conn;  
    }  
      
    public static void closeAll(ResultSet rs,Statement st,Connection conn){  
    //关闭时奉行先运行后关闭后运行先关闭的原则  
        try {  
            if(rs != null)  
                rs.close();//关闭ResultSet  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                if(st != null)  
                    st.close();//关闭Statement  
            } catch (Exception e) {  
                e.printStackTrace();  
            } finally {  
                try {  
                    if(conn != null)  
                        conn.close();//关闭Connection  
                } catch (Exception e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
    }  
      
    public static void closeAll(ResultSet rs,PreparedStatement ps,Connection conn){  
        try {  
            if(rs != null)  
                rs.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                if(ps != null)  
                    ps.close();  
            } catch (Exception e) {  
                e.printStackTrace();  
            } finally {  
                try {  
                    if(conn != null)  
                        conn.close();  
                } catch (Exception e) {  
                    e.printStackTrace();  
                }  
            }  
        }  




用于存储并表user的相关信息

public class User {  
    private int userId;  
    private String username;  
    private int sex;  
    private String password;  
    private int flag;  
      
    public int getUserId() {  
        return userId;  
    }  
    public void setUserId(int userId) {  
        this.userId = userId;  
    }  
    public String getUsername() {  
        return username;  
    }  
    public void setUsername(String username) {  
        this.username = username;  
    }  
    public int getSex() {  
        return sex;  
    }  
    public void setSex(int sex) {  
        this.sex = sex;  
    }  
    public String getPassword() {  
        return password;  
    }  
    public void setPassword(String password) {  
        this.password = password;  
    }  
    public int getFlag() {  
        return flag;  
    }  
    public void setFlag(int flag) {  
        this.flag = flag;  
    }  




附带文件jdbc.properties中的内容

表user

下接Servlet关联数据库后验证登录信息和注册


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值