下面的代码显示了连接SQL Server数据库时,
连接数据库的步骤:
1、注册驱动 (只做一次)
连接数据库的步骤:
1、注册驱动 (只做一次)
2、建立连接(Connection)
3、创建执行SQL的语句(Statement)
4、执行语句
5、处理执行结果(ResultSet)
6、释放资源
建立连接的方法:
- Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
- //加载数据库引擎,返回给定字符串名的类
- String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
- //test为你的数据库的名称
- String user="用户名";
- String password="密码";
- Connection conn=DriverManager.getConnection(url,user,password);
- //连接数据库对象
- Statement stmt=conn.createStatement();
- //创建SQL命令对象
- String query="";//创建表SQL语句
- stmt.executeUpdate(query);//执行SQL命令对象
- String a="INSERT/DELETE.... INTO/FROM “表名” VALUES(....,...)";
- ....
- ....
- ....
- stmt.executeUpdate(a);//执行SQL命令对象
- //读取数据
- ResultSet rs=stmt.executeQuery("SELECT * FROM “表名”");
- //循环输出每一条记录 rs最初指向第一条记录的前面
- while(rs.next){
- }
- 最后关闭连接
- stmt.close();
- con.close();
- 数据库连接(Connection)是非常稀有的资源,用完后必须马上释放,
- 如果Connection不能及时正确的关闭将导致系统宕机。
- Connection的使用原则是尽量晚创建,尽量早的释放。
下面分别给出插入、修改、删除、查询的基本方式的代码:
插入数据:
- import java.sql.*;
- /**
- * @version 2012-02-22
- * @author
- */
- public class InsertDemo {
- public static void main(String[] args) throws SQLException {
- Connection conn = null;
- Statement stmt = null;
- String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL鏁版嵁搴撳紩鎿�
- String connectDB="jdbc:sqlserver://localhost:1433;DatabaseName=JDBCTest";//鏁版嵁婧惵�
- String user="sa";
- String pwd="sql";
- try {
- // 动态导入数据库的驱动
- Class.forName(JDriver);
- // 获取数据库链接
- conn = DriverManager.getConnection(connectDB,user,pwd);
- // 创造SQL语句
- String sql = "INSERT INTO JDBCTestTable ( user_name, user_password ) VALUES ( 'balabala', '123456' )";
- // 执行SQL语句
- stmt = conn.createStatement();
- stmt.executeUpdate(sql);
- System.out.println("插入数据成功");
- } catch (Exception e) {
- e.printStackTrace();
- stmt.close();
- conn.close();
- }
- }
- }
修改数据:
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.sql.Statement;
- public class UpdateDemo {
- public static void main(String[] args) throws SQLException {
- Connection conn = null;
- Statement stmt = null;
- try {
- // 动态导入数据库的驱动
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
- // 获取数据库链接
- conn = DriverManager.getConnection(
- "jdbc:sqlserver://localhost:1433;DatabaseName=JDBCTest",
- "sa", "sql");
- // 创造SQL语句
- String sql = "UPDATE JDBCTestTable SET user_password = '456' WHERE user_name = 'Eric'";
- // 执行SQL语句
- stmt = conn.createStatement();
- stmt.executeUpdate(sql);
- System.out.println("更新数据成功");
- } catch (Exception e) {
- e.printStackTrace();
- stmt.close();
- conn.close();
- }
- }
- }
删除数据:
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.Statement;
- public class DeleteDemo {
- public static void main(String[] args){
- String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
- String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=JDBCTest";
- String user="sa";
- String password="sqlyanghai";
- try{
- Class.forName(JDriver);// 动态导入数据库的驱动
- Connection conn=DriverManager.getConnection(url, user, password);// 获取数据库链接
- String query="DELETE FROM JDBCTestTable WHERE user_name='Eric'";// 创造SQL语句
- Statement stmt=conn.createStatement();// 执行SQL语句
- stmt.executeUpdate(query);
- System.out.println("删除数据成功");
- stmt.close();
- conn.close();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
查询数据:
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.Statement;
- public class QueryDemo {
- public static void main(String[] args){
- String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
- String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=JDBCTest";
- String user="sa";
- String password="sql";
- try{
- Class.forName(JDriver);// 动态导入数据库的驱动
- Connection conn=DriverManager.getConnection(url, user, password);// 获取数据库链接
- String query="SELECT * FROM JDBCTestTable";// 创造SQL语句
- Statement stmt=conn.createStatement();// 执行SQL语句
- ResultSet rs=stmt.executeQuery(query);
- while(rs.next()){
- System.out.println(rs.getString("user_name")+":"+rs.getString(2));
- //密码字段的编号从1开始,密码排第二位
- }
- System.out.println("查询数据成功");
- rs.close();
- stmt.close();
- conn.close();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }