image01.png image02.png image03.png image04.png image05.png image06.png image07.png image08.png image09.png image10.png image11.png image12.png image.pngHibernate---
学了一个月的Java数据库操作,至今为止最完美的作品
JDBC---
8/15 ALL Connection
操作代码:
package jdbcconnect;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.Arrays;
import java.util.Properties;
import java.util.Scanner;
import com.mysql.jdbc.CallableStatement;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
public class firstall {
public static void main(String[] args) {
loadDriverClass();
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
login(conn, stat, rs);
select(conn, stat, rs);
insertBatch(conn);
}
private static void insertBatch(Connection conn) {
System.out.println("批量插入10条数据");
PreparedStatement ps = null;
try {
conn = getConnection();
ps = (PreparedStatement) conn
.prepareStatement("insert into qingke.player(id,name,score,username,passward) values(?,?,?,?,?)");
for (int i = 1; i <= 10; i++) {
ps.setInt(1, i);
ps.setString(2, "Qingke" + i);
ps.setInt(3, i);
ps.setString(4, "qingke" + i);
ps.setString(5, "123");
ps.addBatch();
}
ps.executeBatch();
System.out.println("执行完毕!");
// int[] results=ps.executeBatch();
// System.out.println("results="+Arrays.toString(results));
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
private static void loadDriverClass() {
try {
String driver = getProperty("db.driver");
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
String url = getProperty("db.url");
String u = getProperty("db.username");
String p = getProperty("db.passward");
try {
return DriverManager.getConnection(url, u, p);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static String getProperty(String key) {
Properties props = new Properties();
try {
props.load(new FileInputStream("jdbc.properfies"));
return props.getProperty(key);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return key;
}
private static void cleanup(Connection conn, Statement stat, ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (stat != null) {
stat.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private static void login(Connection conn, Statement stat, ResultSet rs) {
System.out.println("=========登陆==============");
Scanner sc = new Scanner(System.in);
System.out.println("username: ");
String username = sc.nextLine();
System.out.println("passward: ");
String passward = sc.nextLine();
try {
conn = getConnection();
System.out.println("数据库连接成功!");
stat = (Statement) conn.createStatement();
String sql = "select * from player where username='" + username + "' and passward='" + passward + "'";
rs = stat.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int score = rs.getInt("score");
System.out.println("登陆成功!您的用户信息为: id=" + id + ",name=" + name + ",score=" + score);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
cleanup(conn, stat, rs);
sc.close();
}
}
private static void select(Connection conn, Statement stat, ResultSet rs) {
System.out.println("===========根据相关字母查找==========");
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入相关字母: ");
String pattern = sc1.nextLine();
CallableStatement cs = null;
try {
conn = getConnection();
System.out.println("数据库连接成功! ");
cs = (CallableStatement) conn.prepareCall("call qingke.get_player(?,?)");
cs.setString(1, pattern);
cs.registerOutParameter(2, Types.INTEGER);
boolean b = cs.execute();
System.out.println("是否执行成功;" + b);
int resultCount = cs.getInt(2);
System.out.println("查找到的信息条数: " + resultCount);
rs = cs.getResultSet();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int score = rs.getInt("score");
System.out.println("用户信息为: id=" + id + ",name=" + name + ",score=" + score);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
cleanup(conn, stat, rs);
sc1.close();
}
}
}
聪聪工作室---Java---独家制作
版权所有,盗版必究!