使用JDBC对表进行增删改查操作 青旅半醒 2022-04-23 01:34 241阅读 0赞 ### 1、使用properties配置文件 ### 开发中获得连接的4个参数(驱动,url ,用户名,密码)通常都存在配置文件,方便后期维护,程序如果需要更换数据,只需要修改配置文件即可。 通常情况下,我们习惯使用properties文件。此文件我们将做如下要求: (1)、文件位置:任意,建议src下 (2)、文件名称:任意,扩展名为properties (3)、文件内容:一行一组数据,格式是“key = vaue” \*key 命名自定义,如果是多个单词,习惯使用点隔开。例如jdbc.driver \*value 值不支持中文,如果需要使用非英文字符,将进行Unicode转换 ### 2、创建配置文件 ### 右键/New/File,输入“db.properties”文件名 jdbc.driver = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://localhost:3306/test jdbc.user = root jdbc.password = 123456 ### 3、加载配置文件获取连接 ### 我们将使用jdk提供的工具ResourceBundle加载properties文件,ResourceBundle提供getBundle()方法用于只提供properties文件即可,之后使用getString(key)通过key获得value的值。 JdbcUtils.java public class JdbcUtils{ private static String driver; //驱动 private static String url; //路径 private static String username; //用户名 private static String password; //密码 /** * 静态代码块加载配置文件信息,只需要加载一次 */ static{ //1、使用jdk提供的工具类加载properties文件 ResourceBundle bundle = ResourceBundle.getBundle("db"); //2、通过key获得需要的值 driver = bundle.getString("jdbc.driver"); url = bundle.getString("jdbc.url"); username = bundle.getString("jdbc.user"); password = bundle.getString("jdbc.password"); } /** * 获取连接方法 * * @return */ public static Connection getConnection() { Connection conn = null; try { //1、注册驱动 Class.forName(driver); //2、获取连接 conn = DriverManager.getConnection(url, username, password); } catch (Exception e) { throw new RuntimeException(e); } return conn; } } ### 4、实现 ### 4.1模板 //模板 @Test public void demo00() throws Exception { Connection conn = null; Statement st = null; ResultSet rs = null; try { //获取连接 conn = JdbcUtils.getConnection(); } catch (Exception e) { } finally { //释放资源 JdbcUtils.release(conn, st, rs); } } 4.2、添加:insert into //添加 @Test public void demo01() throws Exception { Connection conn = null; Statement st = null; ResultSet rs = null; try { //1、获取连接 conn = JdbcUtils.getConnection(); //2、获得语句执行者 st = conn.createStatement(); //3、执行语句 int r = st.executeUpdate("insert into category(cid,cname) value ('c001''家电')"); //4、输出结果 System.out.println(r); } catch (Exception e) { } finally { //释放资源 JdbcUtils.release(conn, st, rs); } } 4.3、更新:update ... set //更新 @Test public void demo02() throws Exception { Connection conn = null; Statement st = null; ResultSet rs = null; try { //1、获取连接 conn = JdbcUtils.getConnection(); //2、获得语句执行者 st = conn.createStatement(); //3、执行语句 int r = st.executeUpdate("update category set cname = '服饰' where cid = 'c001'"); //4、输出结果 System.out.println(r); } catch (Exception e) { } finally { //释放资源 JdbcUtils.release(conn, st, rs); } } 4.4、删除:delete //删除 @Test public void demo03() throws Exception { Connection conn = null; Statement st = null; ResultSet rs = null; try { //1、获取连接 conn = JdbcUtils.getConnection(); //2、获得语句执行者 st = conn.createStatement(); //3、执行语句 int r = st.executeUpdate("delete from category where cid = 'c001'"); //4、输出结果 System.out.println(r); } catch (Exception e) { } finally { //释放资源 JdbcUtils.release(conn, st, rs); } } 4.5、通过id查询 //通过id查询 @Test public void demo04() throws Exception { Connection conn = null; Statement st = null; ResultSet rs = null; try { //1、获取连接 conn = JdbcUtils.getConnection(); //2、获得语句执行者 st = conn.createStatement(); //3、执行语句 int r = st.executeUpdate("select * from category where cid = 'c002'"); //4、输出结果 if(rs.next()){ String cid = rs.getString("cid"); //通过列名获得值 String cname = rs.getString(2); //通过索引号获得值,从1开始 System.out.println(cid+":"+cname); }else{ System.out.println("没有查询结果"); } } catch (Exception e) { } finally { //释放资源 JdbcUtils.release(conn, st, rs); } }
还没有评论,来说两句吧...