📄 msdb.java
字号:
/*
* DB.java
*
* Created on 2006年3月3日, 上午9:42
*/
package mysql; // change package
/**
*
* @author Star
*/
import java.sql.*;
import java.security.*;
import java.security.spec.*;
import java.io.*;
public class msdb
{
private Connection con=null;
private Statement stmt=null;
ResultSet rs=null;
/*
*加载驱动
*/
public msdb(){
try{
Class.forName ("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e){
System.err.println("DB():"+e.toString());
System.exit(1);
}
catch(Exception e){
System.err.println("DB():"+e.toString());
System.exit(1);
}
}
/*
*得到连接
*/
public Connection getConnection(){
try{
con=DriverManager.getConnection("jdbc:mysql:///board?user=root&password=");
}
catch(Exception e){
System.err.println("getConnection():"+e.toString());
con=null;
}
return con;
}
/*
*关闭连接
*/
public void dropConnection(){
try{
closeStmt();
con.close();
}
catch(Exception ignored){
}
finally{
con=null;
}
}
/*
*执行SQL查询
在为 Connection 创建 Statement 时,可以将 Result
Set 的类型更改为更为灵活的可滚动或可更新模型,如下所示:
Statement stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, Resu
ltSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery("SELECT * FROM Sells");
不同的类型选项: TYPE_FORWARD_ONLY 、 TYPE_SCROLL_INSENSITIVE 和 TYPE_SCROLL
_SENSITIVE 。可以通过使用 CONCUR_READ_ONLY 和 CONCUR_UPDATABLE 选项来选择光标
是只读的还是可更新的
*/
public ResultSet executeQuery(String sql){
rs=null;
try{
con=getConnection();
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("excuteQuery():"+ex.getMessage());
}
return rs;
}
/*
*执行SQL更新
*/
public void executeUpdate(String sql){
rs=null;
try{
con=getConnection();
stmt=con.createStatement();
stmt.executeUpdate(sql);
stmt.close();
con.close();
}
catch(SQLException ex){
System.err.println("excuteUpdate():"+ex.getMessage());
}
}
/*
*执行SQL语句
*/
public void execute(String sql){
stmt=null;
rs=null;
try{
con=getConnection();
stmt=con.createStatement();
stmt.execute(sql);
stmt.close();
con.close();
}
catch(SQLException ex){
System.err.println("excute():"+ex.getMessage());
}
}
/*
*关闭SQL语句
*/
public void closeStmt(){
try{
stmt.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
/*
*关闭SQL连接
*/
public void closeConn(){
try{
con.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
/////////Unicode//////////////Mysql 从 4.1才开始支持Unicode/////////////////////////////////
public String native2Unicode(String s) {
if (s == null || s.length() == 0) {
return null;
}
byte[] buffer = new byte[s.length()];
for (int i = 0; i < s.length(); i++) {
buffer[i] = (byte)s.charAt(i);
}
return new String(buffer);
}
public String unicode2Native(String s) {
if (s == null || s.length() == 0) {
return null;
}
char[] buffer = new char[s.length() * 2];
char c;
int j = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) >= 0x100) {
c = s.charAt(i);
byte []buf = (""+c).getBytes();
buffer[j++] = (char)buf[0];
buffer[j++] = (char)buf[1];
}
else {
buffer[j++] = s.charAt(i);
}
}
return new String(buffer, 0, j);
}
///////////////从Mysql读中文/////////////////////////////////////////////
public String native2Iso(String s) {
try{
if (s == null || s.length() == 0)
return null;
else
return new String(s.getBytes("ISO8859-1"));
}
catch(Exception e)
{
return null;
}
}
///////////////////////////////////////
public String MD5(String s){
char hexDigits[] = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
'e', 'f'};
try {
byte[] strTemp = s.getBytes();
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
mdTemp.update(strTemp);
byte[] md = mdTemp.digest();
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
return new String(str);
}
catch (Exception e){
return null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -