使用JDBC对表进行增删改查操作

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);
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值