java连接数据库的代码

Python09

java连接数据库的代码,第1张

用这个类吧.好的话,给我加加分.

import java.sql.*

/**

* @功能: 一个JDBC的本地化API连接类,封装了数据操作方法,只用传一个SQL语句即可

* @作者: 李开欢

* @日期: 2007/

*/

public class ConnectionDemo {

/*

* 这里可以将常量全部放入另一个类中,以方便修改

*/

private static Connection conn

private static Statement ps

private static ResultSet rs

private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"

private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433DatabaseName=mydb"

private static final String USER ="sa"

private static final String PASS = "sa"

public ConnectionDemo() {

// TODO Auto-generated constructor stub

ConnectionDemo.getConnection()

}

public static Connection getConnection(){

System.out.println("连接中...")

try {

Class.forName(ConnectionDemo.DRIVER)

conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS)

System.out.println("成功连接")

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace()

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

return conn

}

public static Statement getStatement(String sql){

System.out.println("执行SQL语句中...")

try {

ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE)

if(sql.substring(0, 6).equals("select")){

rs = ps.executeQuery(sql)

System.out.println("执行完查询操作,结果已返回ResultSet集合")

}else if(sql.substring(0, 6).equals("delete")){

ps.executeUpdate(sql)

System.out.println("已执行完毕删除操作")

}else if(sql.substring(0, 6).equals("insert")){

ps.executeUpdate(sql)

System.out.println("已执行完毕增加操作")

}else{

ps.executeUpdate(sql)

System.out.println("已执行完毕更新操作")

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

return ps

}

public static ResultSet getResultSet(){

System.out.println("查询结果为:")

return rs

}

public static void closeConnection(){

System.out.println("关闭连接中...")

try {

if (rs != null) {

rs.close()

System.out.println("已关闭ResultSet")

}

if (ps != null) {

ps.close()

System.out.println("已关闭Statement")

}

if (conn != null) {

conn.close()

System.out.println("已关闭Connection")

}

} catch (Exception e) {

// TODO: handle exception

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

ConnectionDemo.getConnection()

String sql = "delete from type where id = 1"

ConnectionDemo.getStatement(sql)

String sql2 = "insert into type values(1,'教学设备')"

ConnectionDemo.getStatement(sql2)

String sql1 = "select * from type"

ConnectionDemo.getStatement(sql1)

ResultSet rs = ConnectionDemo.getResultSet()

System.out.println("编号 "+"类型")

try {

while(rs.next()){

System.out.print(" "+rs.getInt(1)+" ")

System.out.println(rs.getString(2))

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

ConnectionDemo.closeConnection()

}

}

StringBuffer

sqlq=new

StringBuffer("

SELECT

*

FROM

")

//申明一个可变字符串

,要存了一个sql语句,并且由"

SELECT

*

FROM

"可知其为一个select查询语句

sqlq.append(DtoMapGroupOptions.DB_TABLE_NAME)

//DtoMapGroupOptions.DB_TABLE_NAME应该是一个字符串,字面值为一个表的名称,要在这个表里查数据

sqlq.append("

ORDER

BY

")

//这个制定查出来的结果集需要排序

sqlq.append(DtoMapGroupOptions.COLUMN_optionID)

//DtoMapGroupOptions.COLUMN_optionID应该是某一列的列名,根据这一列来排序,如果这一列是数字,那么就会根据数字大小排,字符串可能按abc排,和excel排序时一样的,即根据某一列来扩展至整个区域排序

sqlq.append("

DESC

")

//这个事制定按降序还是升序,这里是降序

//后面的语句要看上下文,那个pb不知是什么

List<Row>

list

=

null

pb.isRequireTotalRow(true)

String

sqlStr=sqlq.toString()

list

=

pb.getInfo(sqlStr,

null,

DtoMapGroupOptions.DATA_SOURCE_ID)//可能是把结果集放入list中,根据sqlStr中的sql语句

//此类为连接数据库并进行数据库的操作

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

public class Conn {

private static Connection conn = null

private static Statement st = null

private static ResultSet rs = null

//建立数据库的连接