「javajdbc使用」java中的jdbc是什么

博主:adminadmin 2022-12-19 17:06:11 73

本篇文章给大家谈谈javajdbc使用,以及java中的jdbc是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java使用主程序JDBC连接数据库?

JDBC的四部曲:

* 第一步 a)加载对应的驱动程序(首先确保将对应的驱动程序的jar包导入到项目中)

*/

Class.forName("com.mysql.jdbc.Driver");

/*

* 第一步 b)根据已经加载的驱动程序 利用相应的参数 获取数据库的指定连接

*/

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/myxjgs", "root", "root");

/*

* 第二步 根据已经获取的连接对象 得到查询窗口的对象

*/

Statement st = conn.createStatement();

/*

* 第三步 写并且在statement执行sql语句

*/

int i = st.executeUpdate(sql.toString());

/*

* 第四步 根据执行结果处理返回值

*/

if(i != 0){

flag = true;

}

————————————————

版权声明:本文为CSDN博主「peihong19900420」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

Java里面的JDBC是什么意思啊?

Java数据库连接是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll)。

API概述

JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接口,需驱动程序提供者来具体实现):

DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。

可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:

用以调用数据库中的存储过程。SQLException:代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。

java jdbc如何使用

给你看个简单的例子吧:

public class DBUtil {

/**

* 获取数据库连接

*

* @return

*/

public static Connection getConn() {

Connection con = null;

//驱动

String className = "";

//url连接路径

String url = "";

//用户名

String username = "";

//密码

String password = "";

try {

className = DBUtil.getValue("/jdbc.properties", "jdbc.driverClassName");

url = DBUtil.getValue("/jdbc.properties", "jdbc.url");

username = DBUtil.getValue("/jdbc.properties", "jdbc.username");

password = DBUtil.getValue("/jdbc.properties", "jdbc.password");

} catch (IOException e1) {

e1.printStackTrace();

}

try {

Class.forName(className);

} catch (ClassNotFoundException e1) {

e1.printStackTrace();

}

String u = url+"?user="+username+"password="+password+"useUnicode=truecharacterEncoding=UTF8";

try {

con = DriverManager.getConnection(u);

} catch (SQLException e) {

e.printStackTrace();

}

return con;

}

/**

* 关闭连接资源

*

* @param pst

* @param conn

*/

public static void getClose(PreparedStatement pst, Connection conn) {

try {

if (pst != null) {

pst.close();

}

if (conn != null) {

conn.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

/**

* 获取jdbc配置文件内的属性值

* @param fileNamePath 配置文件路径

* @param key 字段名

* @return

* @throws IOException

*/

public static String getValue(String fileNamePath, String key)

throws IOException {

Properties props = new Properties();

InputStream in = null;

try {

// in = new FileInputStream(fileNamePath);

// 如果将in改为下面的方法,必须要将.Properties文件和此class类文件放在同一个包中

in = DBUtil.class.getResourceAsStream(fileNamePath);

props.load(in);

String value = props.getProperty(key);

// 有乱码时要进行重新编码

// new String(props.getProperty("name").getBytes("ISO-8859-1"),

// "GBK");

return value;

} catch (IOException e) {

e.printStackTrace();

return null;

} finally {

if (null != in)

in.close();

}

}

}

jdbc.properties:

jdbc.driverClassName = com.mysql.jdbc.Driver

jdbc.url = jdbc:mysql://localhost:3306/XXX

jdbc.username = XXX

jdbc.password = XXX

public class CycleTask extends TimerTask{

PreparedStatement pst = null;

ResultSet rs = null;

Connection conn = null;

@Override

public void run() {

conn = DBUtil.getConn();

StringBuffer sb = new StringBuffer();

sb.append(" INSERT INTO P_SB_TEMP(SB_ID,TEMP_SB,TEMP_HJ,REMARK,DW,ADDTIME) ");

sb.append(" VALUES(?,?,?,?,?,?) ");

try{

pst = conn.prepareStatement(sb.toString());

int index = 1;

pst.setString(index++, "1");

pst.setString(index++, "2");

pst.setString(index++, "3");

pst.setString(index++, "4");

pst.setString(index++, "5");

pst.setTimestamp(index++, new Timestamp(2011, 12, 12, 12, 12, 12, 00));

pst.execute();

}catch (SQLException e1) {

e1.printStackTrace();

}

DBUtil.getClose(pst, conn);

}

}

}

你去试试的

java中使用JDBC连接数据库的步骤是什么?

注册驱动

Class.forname("com.mysql.jdbc.Driver");//这是连接mysql数据库的驱动

获取数据库连接

java.sql.Connection conn=java.sql.DriverManager.getConnection(); 3.获取表达式

java.sql.Statement  stmt=conn.createStatement("jdbc:mysql://localhost/test?

useUnicode=truecharacterEncoding=GBK","root","null");//三个参数分别是数据库连接的URL,

用户名,密码 4.执行SQL

java.sql.ResultSet   rs=stmt.executeQuery("select * from user"); 5.显示结果集里面的数据

while(rs.next()){

System.out.println(rs.getInt(1));

System.out.println(rs.getString("username"));

System.out.println(rs.getString("password"));

System.out.pringln();

}//执行插入语句

//stmt.executeUpdate("insert into user values(1,'中文','345')");

释放资源

rs.close();

stmt.close();

conn.close();

java中使用JDBC完成数据库操作的基本步骤是什么?

创建一个以JDBC连接数据库的程序,包含7个步骤:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),

这通过java.lang.Class类的静态方法forName(String className)实现。

例如:

try{

//加载MySql的驱动类

Class.forName("com.mysql.jdbc.Driver") ;

}catch(ClassNotFoundException e){

System.out.println("找不到驱动程序类 ,加载驱动失败!");

e.printStackTrace() ;

}

成功加载后,会将Driver类的实例注册到DriverManager类中。

2、提供JDBC连接的URL

•连接URL定义了连接数据库时的协议、子协议、数据源标识。

•书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql:

//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

3、创建数据库的连接

•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,

该对象就代表一个数据库的连接。

•使用DriverManager的getConnectin(String url , String username ,

String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和

密码来获得。

例如:

//连接MySql数据库,用户名和密码都是root

String url = "jdbc:mysql://localhost:3306/test" ;

String username = "root" ;

String password = "root" ;

try{

Connection con =

DriverManager.getConnection(url , username , password ) ;

}catch(SQLException se){

System.out.println("数据库连接失败!");

se.printStackTrace() ;

}

4、创建一个Statement

•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3

种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

具体的实现方式:

Statement stmt = con.createStatement() ;

PreparedStatement pstmt = con.prepareStatement(sql) ;

CallableStatement cstmt =

con.prepareCall("{CALL demoSp(? , ?)}") ;

5、执行SQL语句

Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate

和execute

1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句

,返回一个结果集(ResultSet)对象。

2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或

DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等

3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的

语句。

具体实现的代码:

ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;

int rows = stmt.executeUpdate("INSERT INTO ...") ;

boolean flag = stmt.execute(String sql) ;

6、处理结果

两种情况:

1、执行更新返回的是本次操作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些

行中数据的访问。

• 使用结果集(ResultSet)对象的访问方法获取数据:

while(rs.next()){

String name = rs.getString("name") ;

String pass = rs.getString(1) ; // 此方法比较高效

}

(列是从左到右编号的,并且从列1开始)

7、关闭JDBC对象

操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声

明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs != null){ // 关闭记录集

try{

rs.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(stmt != null){ // 关闭声明

try{

stmt.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(conn != null){ // 关闭连接对象

try{

conn.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

java中使用JDBC连接数据库的步骤?

1.注册驱动

Class.forname("com.mysql.jdbc.Driver");//这是连接mysql数据库的驱动

2.获取数据库连接

java.sql.Connection conn=java.sql.DriverManager.getConnection(); 3.获取表达式

java.sql.Statement stmt=conn.createStatement("jdbc:mysql://localhost/test?useUnicode=truecharacterEncoding=GBK","root","null");//三个参数分别是数据库连接的URL,用户名,密码 4.执行SQL

java.sql.ResultSet rs=stmt.executeQuery("select * from user"); 5.显示结果集里面的数据

while(rs.next()){

System.out.println(rs.getInt(1));

System.out.println(rs.getString("username"));

System.out.println(rs.getString("password"));

System.out.pringln();

}//执行插入语句

//stmt.executeUpdate("insert into user values(1,'中文','345')");

6.释放资源

rs.close();

stmt.close();

conn.close();

关于javajdbc使用和java中的jdbc是什么的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-19,除非注明,否则均为首码项目网原创文章,转载请注明出处。