通过JDBC链接数据库并执行数据库语句
来源:互联网 发布:图形化编程软件优缺点 编辑:程序博客网 时间:2024/06/02 02:15
此表中的内容是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
- 通过JDBC链接数据库并执行数据库语句
- 通过jdbc连接数据库,批量执行多条SQL语句
- 通过JDBC链接Mysql数据库
- java通过jdbc链接数据库
- 使用JDBC执行数据库语句
- java通过JDBC链接Mysql数据库
- MyEclipse通过JDBC链接SQLServer2012 数据库
- MyEclipse通过JDBC链接SQLServer2012 数据库
- jdbc链接mysql数据库,并查询
- 加载驱动链接数据库执行SQL语句
- 通过JDBC-ODBC连接数据库,读取数据库信息并显示
- jdbc链接各种数据库
- jdbc链接数据库大全
- jdbc链接数据库
- Jdbc 链接数据库
- JDBC数据库链接
- jdbc链接oracle数据库
- JDBC链接数据库
- [LeetCode] 203. Remove Linked List Elements
- 视频质量评价方法:VQM
- Jsoup爬取网易新闻
- js深浅拷贝
- CentOS6和CentOS7单用户模式破解root密码
- 通过JDBC链接数据库并执行数据库语句
- WeX5 动态生成list,filter写法
- 搜索二维矩阵
- JNI中调用多个第三方的静态库
- 用VS Code打造最佳Markdown编辑器
- 全概率与条件概率的组合推导
- spring spring 各种异常
- 欢迎使用CSDN-markdown编辑器
- 简化函数调用