JDBC入门操作

本文详细介绍了使用JDBC进行数据库操作的基本步骤,包括导入jar包、注册驱动、获取连接、执行SQL语句等,对比了Statement与PreparedStatement的区别,强调了后者在防止SQL注入和提升效率上的优势。

一.JDBC入门

A.导入jar包

B.注册驱动
	Class.forName("com.mysql.jdbc.Driver");

C.获取驱动
	String url = "jdbc:mysql://127.0.0.1:3306/ee";  //ee是数据库的名称
	Connection conn = DriverManager.getConnection(url, "root", "123");

D.获取操作对象
	Statement stat = conn.createStatement();

E.操作SQL
	 int num = stat.executeUpdate(sql);

F.释放资源
	stat.close();
	conn.close();

1.1 Statement 操作数据库

其中Statement的方法主要为两种:executeUpdate和executeQuery

需要注意的是:executeQuery的对象ResultSet rs 同样需要释放资源,并且是第一个被释放的对象!

A.更新操作(DML"对表记录的增删改"和DDL"对表和库的增删改") 
	int num = stat.executeUpdate("SQL语句");  //这里的SQL语句是增删改.返回的是影响几行
	
B.查询操作(DQL"对表记录的查询操作")
	ResultSet resu = stat.executeQuery("SQL查询语句"); //这里的SQL语句是查询语句 DQL 

1.2 PrepareStatement 操作数据库

操作数据库的方法除了Statement,还有PrepareStatement,其主要用来解决SQL的注入问题(

在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
            1. 输入用户随便,输入密码:a' or 'a' = 'a
            2. sql:select * from user where username = 'fhdsjkf' and password = 'a' or 'a' = 'a' 

后期都会使用PreparedStatement来完成增删改查的所有操作
            1. 可以防止SQL注入
            2. 效率更高

A.获取预置操作
	select * from user where username = ? and password = ?;
	PreparedStatement ps = Connection.prepareStatement(sql); //通过预置对象,获取连接的操作

B.设置参数
	ps.setString(1,"root"); //参数1:第几个问号,参数2:对应预置的值
	ps.setString(2,"123");//参数1:第几个问号,参数2:对应预置的值
	
C.执行SQL语句
	ps.executeQuery();

二、JDBC的工具类

2.1 提供快捷的两个部分

A.连接Connection的对象
	Connection conn = DriverManager.getConnection(url, username, password); //返回conn
	
B.释放资源
	a.增删改 (释放 Connection 和 Statement)
        public static void close(Statement stmt, Connection conn){
            JDBCUtils.close(null,stmt,conn)
        }
	b.查询 (释放 Connection 和 Statement 和 ResultSet)
        public static void close(ResultSet rs,Statement stmt, Connection conn){...}

2.2 准备数据

需要注意的是:配置文件需要放在src文件夹下,才可以使用加载器读入到内存!

A.四个配置文件的数据(对应的就是静态成员变量)
    配置文件Pro.properties:
	url=jdbc:mysql://127.0.0.1:3306/ee    
	username=root
	password=123
	driver=com.mysql.jdbc.Driver

    静态成员变量:
    private static String url;
    private static String user;
    private static String password;
    private static String driver;
	
B.静态代码块
	a.赋值静态成员变量(类的加载器"获取配置文件路径",Properties"通过配置文件路径,获取四个值")
         Properties pro = new Properties();
         ClassLoader classLoader = JDBCUtils.class.getClassLoader();
         URL res = classLoader.getResource("pro.properties");
         String path = res.getPath();
         pro.load(new FileReader(path));

         url= pro.getProperty("url");
         user = pro.getProperty("user");
         password = pro.getProperty("password");
         driver = pro.getProperty("driver");
        
	b.注册驱动  Class.forName(driver);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值