这边带来的是java中JDBC的使用,在后端中必不可少的是于数据库的交互,所以我们使用JDBC,JDBC就是Java为了连接数据库写的大量的接口与之进行交互,接下来我会教大家如何使用JDBC和数据库连接以及和如何操作数据库。
我们在操作之前需要下载SQL的驱动包,这样才能保证能运行起来,我们需要的是下载jar包,在MySQL的官网,直接进这个下载的吧MySQL :: MySQL Community Downloadshttps://dev.mysql.com/downloads/点击下载这个
下载这个zip格式的
下载完成后解压一下,我们在idea中配置一下
点击这个,然后在modules中添加这个jar包
根着步骤走哈,不会出问题的,把包选中添加进去就可以了
我们配置完成了,接下来我们正式的使用JDBC
try{
//注册驱动
Class.forName("com.mysq.jdbc.Driver");
//这里的URL是用来连接数据的URL,前面jdbc:mysql://是固定写法,后面是跟地址+端口号+库名(编码也直接抄上就OK)
String url = "jdbc:mysql://localhost:3306/student?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";
// DriverManager主要是用来做驱动管理的,获取数据库的连接
Connection root = DriverManager.getConnection(url, "root", "");
//创建statement用来执行SQL语句
Statement statement = root.createStatement();
//定义sql语句
String sql = "select * from tb_stu1 where id =1";
//执行SQL语句,并获取执行的结果,这个Resultset当中有两个重要的方法,
//resultSet.next() 游标在数据库的每一段去判断下一行是否有值,返回值是boolean,有值返回true,没有值返回false
//resultSet.get+数据类型() 游标获取每一行的数据的类型为什么样的数据类型,需要与其匹配的数据类型进行数据的匹配
ResultSet resultSet = statement.executeQuery(sql);
//我们定义一个Arraylist集合去接收返回的值
ArrayList list = new ArrayList();
while(resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String sex = resultSet.getString("sex");
list.add(id);
list.add(name);
list.add(sex);
}
System.out.println(list);
root.close();
statement.close();
}catch (Exception e){
e.printStackTrace();
}
我们运行后拿到结果
这里基本上就完了,但是我补充当中一些小细节,我们可以更改当中creatStatement,还有其他的方法对于不同的情况,
使用preparedStatement preparedStatement(sql) 预编译sql的执行sql对象,防止sql注入,
callableStatement prepareCall(sql) 执行存储过程的对象
JDBC事务管理步骤如下:setAutocommit(boolean)true为自动提交事务,false为手动提交事务
commit() 提交事务
rollback() 回滚事务
除了我们使用的这种,更多的是使用数据库连接池用来做比这个性能强且复用性高的用途,我也更推荐使用阿里云的Druid连接池用来做,哪天有时间写一篇关于Druid的连接池的,我们这个是Java中的和数据库交互的用法,后面也会普及一下node.js的交互用法