关于JAVA中的JDBC我们知道它是一个面向数据库执行SQL语言的javaAPI,可以对多个数据库进行访问。
一般在情况下我们对数据库数据的增删查改都是通过JDBC进行的
因为毕业进入工作后用的都是Spring子类下的一些业务框架,所以自从毕业之后就没有再直接碰JDBC,今天心血来潮想再写一次结果发现把操作流程给忘记的差不多了,所以只好从类似文档中板些砖,再回忆回忆。
这里我用的是JDBC最简单的数据库访问获取方法,只是用来回忆基础知识,其它内容并不深究。
一、对Connection的回忆。
首先,要实现SQL数据库业务,首先要记住一个关键方法Connection[kəˈnekʃn](请恕我这个标音标的英语口语渣)。它能够对特定数据库进行回话,并且进行SQL语句的编译和运行。关于它更多的信息可以直接百度,这里就不陈述了。
所以既然这么强,所以我们一般都在方法申请之后就对齐进行申请
Connection conn=null;
二、通过Class映射加载MySql的驱动
因为我们用的是MySql数据库,所以我们在项目中一般都会有MySql的业务配置文件,所以我们可以直接通过Class的映射机制Class.forName("com.mysql.jdbc.Driver");直接加载映射驱动。
三、进行数据库连接
如果到这一步都没有报错,那么恭喜你成功加载了MySqlq驱动,之后我们就可以开启数据库连接了。
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/shop?user=root&useUnicode=true&characterEncoding=utf-8");
这个就懒得解释了,毕竟就算是用框架不写JDBC但是数据库连接地址也是要写,所以就不解释了。
四、使用SQL语句进行查询和业务遍历
如果完成了上面三步,并且都没有报错的话,就可以进行SQL注入了。
一般情况下使用ResultSet result = stmt.executeQuery(sql);
sql是String内容的字符串。然后遍历result完成数据库数据查询 。
业务Deom
package cn.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* MySql纯JDBC业务测试
* @author Taku
* @Date 2018年6月29日
*/
public class MySql_jdbc {
public static void main(String[] args) throws SQLException {
Connection conn = null;
// MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
// 避免中文乱码要指定useUnicode和characterEncoding
// 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
// 下面语句之前就要先创建javademo数据库
try {
// jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=utf-8
// "user=root&password=root&useUnicode=true&characterEncoding=UTF8";
// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
// or:
// com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
// or:
// new com.mysql.jdbc.Driver();
System.out.println("成功加载MySQL驱动程序");
// 一个Connection代表一个数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/shop?user=root&useUnicode=true&characterEncoding=utf-8");
// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
Statement stmt = conn.createStatement();
String sql = "SELECT user_Gender FROM user WHERE user_Id=1";
ResultSet result = stmt.executeQuery(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
System.out.println("用户状态");
while (result.next()) {
System.err.println(result.getString(1));
}
} catch (SQLException e) {
System.out.println("MySQL操作错误");
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
}
}
}