创建一个以JDBC连接数据库的程序,包含7个步骤:
1、JDBC所需的四个参数(user,password,url,driverClass)
(1)user用户名;
(2)password密码;
(3)URL定义了连接数据库时的协议、子协议、数据源标识。
书写形式:协议:子协议:数据源标识。
协议:在JDBC中总是以jdbc开始。
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
(4)driverClass连接数据库所需的驱动。
2、加载JDBC驱动程序
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String className)实现。
例如:
成功加载后,会将Driver类的实例注册到DriverManager类中。
3、创建数据库的连接
要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。使用DriverManager的getConnectin(String url , String username ,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
例如:
4、创建一个preparedStatement
要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:
(1)执行静态SQL语句。通常通过Statement实例实现。
(2)执行动态SQL语句。通常通过PreparedStatement实例实现。
(3)执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
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):用于执行返回多个结果集、多个更新计数或二者组合的语句。
具体实现的代码:
6、遍历结果集
两种情况:
(1)执行更新返回的是本次 *** 作影响到的记录数。
(2)执行查询返回的结果是一个ResultSet对象。
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
使用结果集(ResultSet)对象的访问方法获取数据:
注:列是从左到右编号的,并且从列1开始。
7、处理异常,关闭JDBC对象资源
*** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
(1)先关闭requestSet
(2)再关闭preparedStatement
(3)最后关闭连接对象connection
实现代码如下:
requestSet.close()
preparedStatement.close()
connection.close()
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版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/peihong19900420/article/details/84353278
步骤分为3部:1.通过sql server 配置管理器配置1433端口
2.将sqljdbc41.jar类库添加到对应的工程中
3.在java程序中连接数据库
步骤1:打开sql server 配置管理器,点击TCP/IP右键,选择启用。将禁用的TCP/IP协议打开。
然后重启sql server(mssqlserver)服务,使得tcp/ip协议生效。
步骤2:到microsoft官网下载sqljdbc41.jar类库。http://www.microsoft.com/zh-CN/download/details.aspx?id=11774
将下载的压缩包解压,找到sqljdbc41.jar类库即可。
然后进入eclipse界面,找到的当前工程文件,点击右键,选中properties->Libraries->add external jars->找到我们刚刚下载到的sqljdbc41.jar类库,添加即可。
步骤3:
import java.sql.*
public class test3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
PreparedStatement ps=null //(这里也可以使用statement,视情况而定)
Connection ct=null
ResultSet rs=null
try {
//1.加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
String url="jdbc:sqlserver://localhost:1433databaseName=test1"
String user="sa"//sa超级管理员
String password="654321"//密码
//2.连接
ct=DriverManager.getConnection( url,user,password)
//3.创建发送端
pstmt = conn.prepareStatement("INSERT INTO staff(name, age) VALUES (?, ?)")
//通过PreparedStatement对象里的set方法去设置插入的具体数值
pstmt.setString(1, newen)
pstmt.setInt(2, 25)
pstmt.executeUpdate()
//插入成功提示
System.out.println("成功插入一条数据记录!")
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace()
}finally{
//关闭资源
try {
if(rs!=null){
rs.close()
}
if(ps!=null){
ps.close()
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
}
jdbc连接数据库OK!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)