📄 jdbctraining.java
字号:
package page;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.SortedMap;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class JDBCTraining {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
System.out.println("开始创建连接....");
String sql = "select * from area_info ";
}
public static long testJDBCConn(int count){
long costTime = 0;
long startTime = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
try {
createConn().close();
} catch (SQLException e) {
e.printStackTrace();
}
}
costTime = System.currentTimeMillis() - startTime;
return costTime;
}
public static long testJNDIConn(int count){
DataSource ds = null;
try {
ds = (DataSource)new InitialContext().lookup("java:comp/env/jdbc/TrainingDS");
} catch (NamingException e1) {
e1.printStackTrace();
}
long costTime = 0;
long startTime = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
try {
ds.getConnection().close();
} catch (SQLException e) {
e.printStackTrace();
}
}
costTime = System.currentTimeMillis() - startTime;
return costTime;
}
private static DataSource ds ;
public static DataSource getDs() {
return ds;
}
public static void setDs(DataSource ds) {
JDBCTraining.ds = ds;
}
private static Connection createConn() {
try {
return ds.getConnection();
} catch (Exception e) {
// throw new SystemException("数据源配置不对");
}
return null;
}
private static Connection createConn1() {
// 驱动名
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
// 连接地址
String url = "jdbc:sqlserver://localhost:1433;databaseName=s2";
// 用户名
String user = "sa";
// 密码
String password = "sa";
try {
// 加载驱动
Class.forName(driver);
// 创建连接
return DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
// throw new SystemException("驱动类没有发现");
} catch (SQLException e) {
e.printStackTrace();
// throw new SystemException("无法创建连接");
}
return null;
}
@SuppressWarnings("unchecked")
public static List<?> query(String sql, Object... argus) {
// 调用连接
Connection conn = createConn1();
ResultSet rs = null;
PreparedStatement prst = null;
List list = new ArrayList();
try {
// 准备执行SQL
prst = conn.prepareStatement(sql);
// 设定SQL中的参数
for (int i = 0; i < argus.length; i++) {
prst.setObject(i + 1, argus[i]);
}
// 执行查询
rs = prst.executeQuery();
while(rs.next()){
Student stu = new Student();
stu.setId(rs.getInt("id"));
stu.setName(rs.getString("name"));
stu.setPass(rs.getString("pass"));
list.add(stu);
}
return list;// return ResultSupport.toResult(rs);
} catch (SQLException e) {
// 异常处理
e.printStackTrace();
// throw new SystemException("无法查询");
} finally {
// 关闭资源(注意关闭顺序)
try {
rs.close();
prst.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
@SuppressWarnings("unused")
public static int update(String sql, Object... argus) {
// 调用连接
Connection conn = createConn1();
PreparedStatement prst = null;
try {
// 准备执行SQL
prst = conn.prepareStatement(sql);
// 设定SQL中的参数
for (int i = 0; i < argus.length; i++) {
prst.setObject(i + 1, argus[i]);
}
// 执行更新
return prst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
// throw new SystemException("无法更新");
} finally {
// 关闭资源
try {
prst.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -