import java.sql.*
/**
* @author xys
*/
public class ConnectMysql {
public static Connection getConnection() throws ClassNotFoundException, SQLException {
String url = "jdbc:mysql://localhost:3306/databaseName"
String user = "mysqluser"
String password = "password"
String driverClass = "com.mysql.cj.jdbc.Driver"
Connection connection = null
Class.forName(driverClass)
try {
connection = DriverManager.getConnection(url, user, password)
} catch (SQLException e) {
e.printStackTrace()
}
if (connection != null) {
System.out.println("数据库连接成功")
} else {
System.out.println("数据库连接失败")
connection.close()
}
return connection
}
public void getResult() throws ClassNotFoundException, SQLException {
// 实例化 Statement 对象
Statement statement = getConnection().createStatement()
// 要执行的 Mysql 数据库 *** 作语句(增、删、改、查)
String sql = ""
// 展开结果集数据库
ResultSet resultSet = statement.executeQuery(sql)
while (resultSet.next()) {
// 通过字段检索
int id = resultSet.getInt("id")
String name = resultSet.getString("name")
// 输出数据
System.out.println("ID : " +id)
System.out.println("name :" + name)
}
// 完成后需要依次关闭
resultSet.close()
statement.close()
getConnection().close()
}
}
import java.sql.ResultSet//都是导入一些下面需要用到的类String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433DatabaseName=library"//jdbc连接数据库url
public sqlServer() {
try {
Class.forName(DBDriver).newInstance() //加载SQLServer驱动程序,DBDriver是你上面的代码
conn=DriverManager.getConnection(ConnStr,"sa","sa")//和数据库建立连接,ConnStr里面的://WINJUE:1433DatabaseName=library 分别是主机地址:端口号你自己建的数据库(database)
}
catch(SQLException e) { //捕获SQL异常
System.out.println(e.getMessage())//要是出现异常,捕获到后,这句代码会把异常的信息(出错的原因之类的)打印出来。
}
catch(Exception e) { //捕获异常,这个是总的,所以不能和上面的顺序颠倒,先小到大,我连ORACLE和MYSQL,这个我通常不要,只须捕获SQL异常就OL
System.out.println(e.getMessage())
}
}
public Connection getConn(){ //获取连接方法
return conn
}
public void insert(String sql) {//增删改
try {
Statement stm=conn.createStatement()调用conn下的方法,创建Statement对象
stm.executeUpdate(sql)//调用Statement下的方法执行SQL语句
System.out.println(" *** 作成功")
}
catch(Exception e){
System.out.println(e.getMessage())//如上
}
}
public ResultSet query(String sql){ //查询
try{
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
rs=stm.executeQuery(sql)//如上
}
catch(Exception e){
System.out.println(e.getMessage())
}
return rs
}
public static void main(String args[]){
sqlServer conn=new sqlServer()//创建sqlServer,就是你上面的类,以便调用里面的方法
ResultSet rs=conn.query("select * from Orders")//调用query方法,执行SQL语句后,把结果保存到结果集里
//conn.insert("delete from BookInfo where BookName =" +"\'悟空传\'")
//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')")
try{
while(rs.next()){ //循环,判断结果集里的记录,一条条往下走,是否还有下一条记录,若是返回真,继续走
System.out.print(rs.getString("OrderID"))
//System.out.print(rs.getString("U_age"))
}
rs.close() //关闭结果集
}
catch (Exception e){
System.out.println(e.getMessage())
}
}
}
注:
TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至能进行特定定位,例如移至列表中的第四个记录或从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允许在记录中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一个记录,那个记录将从 ResultSet 中消失。类似的,对数据值的更改也将反映在 ResultSet 中。
你需要放一个sql2005的驱动放到项目中的bin文件夹中新建的一个lib文件夹里面,然后那个conn连接的代码可以这样写:conn=
DriverManager.getConnection("jdbc:odbc:Driver={SQL
SERVER}server=.database=数据库名")这样写是通用的写法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)