jdbc连接数据库的代码和步骤jdbc连接数据库的代码和步骤
学习⽬标
介于⼤家使⽤Mysql的⽐较多,最下⾯有UXDB和MySQL两种数据库连接的完整代码
c程序手机编译器JDBC连接数据库的程序,主要包含7个步骤
1、加载JDBC 驱动程序:
在连接数据库之前,⾸先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
可以通过java.lang.Class类的静态⽅法forName(String className)实现。
⽰例1:(加载UXDB的驱动类)
// 加载 UXDB的驱动
try{
Class.forName("com.uxsino.uxdb.Driver");
}catch(Exception e){
e.printStackTrace();
}
⽰例2:(加载MySQL的驱动类)
try{
//加载MySql的驱动类
Class.forName("sql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("不到驱动程序类,加载驱动失败!");
e.printStackTrace() ;
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
注意:不管加载什么数据库的驱动,可能都得提前导⼊驱动的jar包
如果你会⽤maven的话,就可以直接镜像下载,就不⽤再⼿动导⼊了。
2、提供JDBC连接需要的URL
连接JDBC的 URL定义了连接数据库时的协议、⼦协议、数据源标识
URL的书写形式:书写形式:协议:⼦协议:数据源标识
协议:在JDBC中总是以jdbc开始 。
⼦协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记到数据库来源的地址与连接端⼝。
⽰例1:(UXDB的连接URL)
// UXDB的连接URL
String url ="jdbc:uxdb://192.71.1.31:5432/uxdb";
⽰例2:(MySQL的连接URL)
String url = "jdbc:mysql://localhost:3306/mysql" ;
3、创建数据库的连接
(1)要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,
获取到的 Connection 对象就代表⼀个数据库的连接。
(2)使⽤DriverManager的getConnection(String url , String username ,
String password )⽅法传⼊ 连接的 数据库的路径、数据库的⽤户名和
密码来获得。
⽰例1:(连接UXDB数据库,⽤户名,密码)
// 连接UXDB数据库
String url ="jdbc:uxdb://192.71.1.31:5432/uxdb";
try{
Connection conn =
}catch(Exception e){
System.out.println("数据库连接失败!");
e.printStackTrace();
}
⽰例2:(连接MySQL数据库)
String username = "root" ;
String password = "root" ;
try{
Connection conn =
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
4、创建⼀个Statement
(1)要执⾏SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下 3 种类型:执⾏静态SQL语句。通常通过Statement实例实现。
执⾏动态SQL语句。通常通过PreparedStatement实例实现。
执⾏数据库存储过程。通常通过CallableStatement实例实现。
具体的实现⽅式: (这⾥不管什么数据库基本⼀致,⼤同⼩异)
Statement st = ateStatement();
PreparedStatement ps = con.prepareStatement(sql);
所有颜的卡及名称CallableStatement cs = con.prepareCall("{CALL demoSp(? , ?)}");
5、执⾏SQL语句
Statement接⼝提供了三种执⾏SQL语句的⽅法:executeQuery 、executeUpdate 和 execute
ResultSet executeQuery(String sqlString):执⾏查询数据库的SQL语句 ,
返回⼀个结果集(ResultSet)对象。
int executeUpdate(String sqlString):⽤于执⾏INSERT、UPDATE或
DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
execute(sqlString):⽤于执⾏返回多个结果集、多个更新计数或⼆者组合的语句。
-(这⾥不管什么数据库基本⼀致,⼤同⼩异)
// 这⾥的st 就是上⾯第4步中,你获取的Statement实例
ResultSet rs = st.executeQuery("SELECT * FROM ...");
int rows = st.executeUpdate("INSERT INTO ...");
boolean flag = st.execute(String sql);
6、对数据库中查询的结果做处理
两种情况:
(1)执⾏更新返回的是本次操作影响到的记录数。
(2)执⾏查询返回的结果是⼀个ResultSet对象。
· ResultSet包含符合SQL语句中条件的所有⾏,并且它通过⼀套get⽅法提供了对这些
⾏中数据的访问。
· 使⽤结果集(ResultSet)对象的访问⽅法获取数据
()){
String name = rs.getString("name");
String password = rs.getString(1);// 此⽅法⽐较⾼效
}
7、关闭JDBC对象
操作完成以后要把所有使⽤的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和连接顺序刚好相反
(1)关闭记录集
(2)关闭声明
(3)关闭连接对象
if(rs !=null){// 关闭结果集
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(st !=null){// 关闭声明
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(conn !=null){// 关闭连接对象
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
连接UXDB数据库整个完整的代码:
package com.song.jdbc;
import java.sql.*;
import java.sql.*;
public class ConnTest {
public static void main(String[] args){
Connection connection =getConn();
String sql ="select * from student";
PreparedStatement statement;
statement =null;
ResultSet resultSet;
resultSet =null;
try{
//            statement = ateStatement();
//            resultSet = uteQuery(sql);
//4、创建⼀个Statement
PreparedStatement statement1 = connection.prepareStatement(sql);
//5、执⾏SQL语句
resultSet = uteQuery();
System.out.println("======");
/
/6、对数据库中查询的结果做处理
()){
联想电脑自带access数据库吗System.out.println("===22222====");
System.out.String(1));
System.out.println("\n");
}
}catch(Exception e){
e.printStackTrace();
}finally{
//7、关闭JDBC对象
if(resultSet !=null){
try{
resultSet.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(statement !=null){
try{
statement.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(connection !=null){
try{
connection.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
private static Connection getConn(){
Connection connection;
connection =null;
try{
//1、加载JDBC 驱动程序
Class.forName("com.uxsino.uxdb.Driver");
//2、提供JDBC连接需要的URL
String url ="jdbc:uxdb://192.71.1.31:5432/uxdb";
String url ="jdbc:uxdb://192.71.1.31:5432/uxdb";
try{
//3、创建数据库的连接
Connection(url,"uxdb","123123");
}catch(Exception e){
e.printStackTrace();
}
}catch(Exception e){
ascii码怎样转换e.printStackTrace();
}
return connection;
}
}
连接MySQL数据库整个完整的代码:
package sqldemo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
truncate函数是什么意思
public class main {
public static void main(String[] args) {
//声明Connection对象
Connection con;
//驱动程序名
String driver = "sql.jdbc.Driver";
//URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/sqltestdb";
//MySQL配置时的⽤户名
String user = "root";
//MySQL配置时的密码
String password = "123456";
//遍历查询结果集
try {
mysql语句的执行顺序//加载驱动程序
Class.forName(driver);
/
/1.getConnection()⽅法,连接MySQL数据库!!
con = Connection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");            //2.创建statement类对象,⽤来执⾏SQL语句!!
Statement statement = ateStatement();
//要执⾏的SQL语句
String sql = "select * from emp";
//3.ResultSet类,⽤来存放获取的结果集!!
ResultSet rs = uteQuery(sql);
System.out.println("-----------------");
System.out.println("执⾏结果如下所⽰:");
System.out.println("-----------------");
System.out.println("姓名" + "\t" + "职称");
System.out.println("-----------------");
String job = null;
String id = null;
()){
//获取stuname这列数据
job = rs.getString("job");
//获取stuid这列数据

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。