JDBC更新+数据库连接池--详解--初学者必看

Ummi ·
更新时间:2024-09-20
· 912 次阅读

JDBC+连接池--值得一看JDBC的使用增删改查操作JDBC工具类的封装JDBC实现新增数据-插入-insertJDBC实现修改数据-更新--updateJDBC实现删除数据-删除---deleteJDBC实现查询数据-查询---select案例:实现用户登录案例:登录更新----防止SQL注入攻击数据库连接池---C3P0
上一篇文章给大家写了jdbc的基本的知识。本章会进行详细讲解JDBC的使用。 JDBC的使用增删改查操作 JDBC工具类的封装

下面展示一些 内联代码片

package cn.tedu.util; /** * @author 作者: bjzhangjian * @version 创建时间:2020年5月7日 上午10:14:03 * @description 描述:jdbc的工具类 */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCUtil { /** * 数据库的连接 */ public static Connection getConnection() { //1、注册数据库的驱动 try { Class.forName("com.mysql.jdbc.Driver"); //2、获取数据库的连接 String url = "jdbc:mysql:///dd_db?characterEncoding=utf-8"; String user = "root";//用户名和密码是你数据库连接的时候的用户名和密码 String password = "root"; Connection connection = DriverManager.getConnection(url, user, password); return connection; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 释放资源 * @param connection 连接对象 * @param st 传输器对象 * @param rs 结果集对象 */ public static void close(Connection connection, Statement st, ResultSet rs) { //6、释放资源 if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } finally { rs = null; } } if (st != null) { try { st.close(); } catch (SQLException e) { e.printStackTrace(); } finally { st = null; } } if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } finally { connection = null; } } } } JDBC实现新增数据-插入-insert

需求:
新增一条数据:郭泽平 qwer123 qwer123@163.com 13100006666

@Test public void testInsert() { Connection conn = null; Statement st = null; ResultSet rs = null; try { //获取数据库的连接 conn = JDBCUtil.getConnection(); //获取传输器对象 st = conn.createStatement(); //时间的转化 // Date date = new Date(); int rows = st.executeUpdate("insert into user values(null,'郭泽平','qwer123','2020-5-7 10:34:00','qwer123@163.com','13100006666')"); // System.out.println("受影响的行数:" + rows); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { JDBCUtil.close(conn, st, rs); } } JDBC实现修改数据-更新–update @Test public void testUpdate() { Connection conn = null; Statement st = null; ResultSet rs = null; try { //获取数据库的连接 conn = JDBCUtil.getConnection(); //获取传输器对象 st = conn.createStatement(); int rows = st.executeUpdate("update user set password='asd123' where username='张老师';"); // System.out.println("受影响的行数:" + rows); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { JDBCUtil.close(conn, st, rs); } } JDBC实现删除数据-删除—delete

参考以上代码,可以进行SQL语句修改即可。

JDBC实现查询数据-查询—select

参考以上代码,可以进行SQL语句修改即可。

select *from user where username='苍老师'; 案例:实现用户登录 需求分析:
1、提示用户名和密码的输入
2、根据输入的用户名和密码,去到数据库中访问并且进行匹配,查询出指定用户名和密码是否正确
3、如果数据库中能够查询到用户,并且密码也是正确的,那就可以进行登录
4、否则,登录失败。

代码实现:

public class LoginUser { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入用户名:"); String username = sc.nextLine(); System.out.println("请输入密码:"); String password = sc.nextLine(); //模拟用户登录 login(username, password); sc.close(); } /**模拟用户进行登录的实现逻辑-----11:05*/ private static void login(String username, String password) { Connection conn = null; Statement st = null; ResultSet rs = null; try { //获取数据库的连接 conn = JDBCUtil.getConnection(); //获取传输器对象 st = conn.createStatement(); rs = st.executeQuery("select * from user where username = '" + username + "' and password = '" + password + "'"); if (rs.next()) { System.out.println("用户登录success"); }else { System.out.println("登录失败。用户名或者密码错误。"); } } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtil.close(conn, st, rs); } }

运行结果:

原创文章 7获赞 2访问量 320 关注 私信 展开阅读全文
作者:A 小码农



数据库连接 连接 数据 数据库连接池 jdbc 连接池 数据库

需要 登录 后方可回复, 如果你还没有账号请 注册新账号