Java JDBC 数据库链接小结随笔
Java JDBC 数据库链接小结随笔
一、链接数据库的步骤
二、关于Statement 和 PrepareStatement 两者区别 用法
五、一些异常的解释
一、链接数据库的步骤
- 注册驱动
- 获得链接对象
- 创建sql容器
- 执行sql语句
- 查询操作
- 关闭资源:
package demo1; import java.sql.*; public class demo1 {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://127.0.0.1:3306/jdbc?serverTimezone=UTC";
/*目前手动改变 sql 服务器 时区报错问题*/
String username="root";
String password="root";
/* com.mysql.cj.jdbc.Driver */ Connection con= DriverManager.getConnection(url,username,password);
System.out.println(con);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from test");
while (rs.next()){
int id=rs.getInt("id");
String name=rs.getString(2);
System.out.println("id:"+id+"-"+"name:"+name);
} }
catch (ClassNotFoundException e){
e.printStackTrace();
}
catch (SQLException e){
e.printStackTrace();
}
}
}
二、 关于Statement 和 PrepareStatement 两者区别 用法
PrepareStatement 继承自 Statement 接口 拥有Statement 中的方法
execute()
executeQuery()
executeUpdate()
package demo1; import Util.connectionUtil; import java.sql.*; public class TestDemo {
/*
* 1. prepareStatement Statement 区别
*
* 1)prepareStatement继承自 statement
* prepareStatement{ execute、 executeQuery 和 executeUpdate 已被更改以使之不再需要参数} * 2. 接口用法 * */ public static void main(String[] args) { //直接使用 Util 包下自定义的 链接数据库方法
Connection con=connectionUtil.getConnections("jdbc");
Statement stmt=null;
PreparedStatement ps=null; ResultSet resultSet=null;
ResultSet rs=null; String selectSql="select * from test";
try {
stmt=con.createStatement();
resultSet=stmt.executeQuery(selectSql); System.out.println("Statement 接口:");
while (resultSet.next()){
int id=resultSet.getInt("id");
String name=resultSet.getString("name");
System.out.println("id:"+id+"---"+"name:"+name);
} System.out.println("PrepareStatement 接口:"); /* PrepareStatement */
ps=con.prepareStatement(selectSql);
rs=ps.executeQuery();
while (rs.next()){
int id=rs.getInt("id");
String name=rs.getString("name");
System.out.println("id:"+id+"---"+"name:"+name);
} } catch (SQLException e) {
e.printStackTrace();
}
finally {
if(con!=null){
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
基本能用PrepareStatement 就不用 Statement 尽量避开 ‘1’ or "1"="1" 1的情况
也会比 Statement 更灵活
execute() executeQuery() executeUpdate() 这三个方法也不需要用参数 直接调用
例:
PrepareStatement>
String sql="select * from test where id= ?";
PreparedStatement ps=con.prepareStatement(sql);
ps.setInt(1,1) /* ? 相当于 占位符
setInt(index,value); 来给占位符设置值
set数据类型(index,value);*/
----------------------------------------------------------
Statement>stmt=con.createStatement();
resultSet=stmt.executeQuery(selectSql);
三、关于 ResultSet 的一些小结
ResultSet 结果集 接收一个二维的数组集
关于ResultSet 的一些方法
boolean next() 将光标从当前位置向前移一行。
String getString(int columnIndex) 获取此ResultSet对象的当前行中指定列的值
String getString(String columnLabel) 获取此ResultSet对象的当前行中指定列的值
四、自定义工具类的封装
五、一些异常的解释
上述内容为 自学笔记 可自行参考
Java JDBC 数据库链接小结随笔的更多相关文章
- Java JDBC数据库链接
好久没有编写有关数据库应用程序啦,这里回顾一下java JDBC. 1.使用Java JDBC操作数据库一般需要6步: (1)建立JDBC桥接器,加载数据库驱动: (2)连接数据库,获得Connect ...
- java JDBC 数据库链接
1.准备环境搭建: myeclipse,sql2005,jdbc. 2.都下载完之后开始进行安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证) <1> ...
- Java JDBC基础学习小结
JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作.JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver.Connection.Statement.Re ...
- Java ——JDBC数据库编程
数据库分类 关系型数据库:以表来存放数据的,数据与数据之间的关系通过表之间的连接体现 面向对象的数据库:保存的是对象本身 其它 数据库:数据库管理系统中创建一个个的保存数据的单位 数据是保存在数据库的 ...
- java jdbc数据库操作
package shb.java.demo3; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQ ...
- java mysql数据库链接与资源关闭
/** * Created by Clear on 2018/8/11. * here provide the kind of connections from mysql database,and ...
- Java JDBC数据库编程
课程 Java面向对象程序设计 一.实验目的 掌握数据库编程技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境,Microsoft SQL ...
- JAVA JDBC 元数据分析小结
纯干货: 获取数据库名称: /** * 获取数据库的名称 */ public void getDataBaseName() throws Exception { Connection con = DS ...
- java jdbc/ojdbc 链接oracle的三种方式
方法一:使用service_name 连接oracle jdbc:oracle:thin:@//:/<service_name> 例如: jdbc:oracle:thin:@//10.1 ...
随机推荐
- Java中boolean类型到底占用多少字节(转载)
来源:https://www.cnblogs.com/brucecloud/p/5509921.html 虽然 Java 虚拟机定义了 boolean 这种数据类型,但是只对它提供了非常有限的支持.在 ...
- 第四十七篇 入门机器学习——分类的准确性(Accuracy)
No.1. 通常情况下,直接将训练得到的模型应用于真实环境中,可能会存在很多问题 No.2. 比较好的解决方法是,将原始数据中的大部分用于训练数据,而留出少部分数据用于测试,即,将数据集切分成训练数据 ...
- Educational Codeforces Round 76 (Rated for Div. 2) D. Yet Another Monster Killing Problem
You play a computer game. In this game, you lead a party of mm heroes, and you have to clear a dunge ...
- 二分题 D - Salary Changing codeforce
题意:给出n个人(n是奇数),s钱:s为总的可以付工钱的钱: 每一个工人有一个付工钱的区间,只要在这个区间范围内,随便一个数都可以当作给这个工人付了钱: 老板要付给每个工人钱,并且付钱的中位数要尽可能 ...
- Iris_MVC
2. MVC包使用 在Iris框架中,封装了mvc包作为对mvc架构的支持,方便开发者遵循mvc的开发原则进行开发. iris框架支持请求数据.模型.持久数据分层处理,并支持各层级模块代码绑定执行. ...
- c# excel 读写 64位操作系统 64位excel
用c#读写excel时,会出现 “本机未注册Microsoft.ACE.OLEDB.12.0 驱动(什么的,忘了)” 读写 64位的excel 时,要在项目属性里改一下目标平台,默认的为*86, 改为 ...
- win10图标变白的解决办法(亲测有用)
1.首先,随便打开一个文件夹点击[查看]菜单,然后勾选[隐藏的项目]: 2.同时按下快捷键[Win]+[R],在打开的[运行]窗口中输入%localappdata%: 3.在打开的文件夹中,找到[Ic ...
- c#修改项目名称
1.修改解决方案名称 右键,重命名 2.修改项目名称 右键,重命名 3.修改程序集名称和默认命名空间 项目,属性 4.替换解决方案中的名称 编辑,替换,替换范围默认整个解决方案 5.用记事本打开.sl ...
- cookie、session以及中间件
cookie cookie是保存客户端浏览器上的键值对,是服务端设置在客户端浏览器上的键值对,也就意味着浏览器其实可以拒绝服务端的'命令',默认情况下浏览器都是直接让服务端设置键值对 设置cookie ...
- 后台用map接收数据,报类型转换错误
如果后台用接收接收前台传的数据时,因为不确定具体是哪一种类型而报错,可以使用 instanceOf if (dataMap.get("salePrice") instanceof ...