Java连接数据库
创建java项目:new->java project->(JRE处) Use a project specific JRE->将驱动放到根目录
建立依赖:右键->proterties->library->add jar->将项目的jar包加进来
java连接数据库
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Conn {
private static final String URL = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false";
private static final String USER = "root";
private static final String PASS = "123456";
static Connection conn = null;
static ResultSet rs = null;
static PreparedStatement ps = null;
public static void init() {
if (conn == null) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER, PASS);
} catch (Exception e) {
System.out.println("database connection fail");
e.printStackTrace();
}
System.out.println("*****build connection success****");
} else {
System.out.println("*****already build connection success****");
}
}
public static void main(String[] args) {
Conn.init();
String sql = "insert into stu_info values(14,'熊大',1,3,100)";
try {
ps = conn.prepareStatement(sql);
int re = ps.executeUpdate();
} catch (SQLException e) {
System.out.println("sql执行失败");
}
}
}
常用方法
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Conn {
private static final String URL = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false";
private static final String USER = "root";
private static final String PASS = "123456";
static Connection conn = null;
static ResultSet rs = null;
static PreparedStatement ps = null;
public static void init() {
if (conn == null) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER, PASS);
} catch (Exception e) {
System.out.println("database connection fail");
e.printStackTrace();
}
System.out.println("*****build connection success****");
} else {
System.out.println("*****already build connection success****");
}
}
public void query(String sql) {
Conn.init();
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getInt("id") + "," + rs.getString("stu_name"));
}
} catch (Exception e) {
System.out.println("sql执行失败");
}
}
public void execute() {
String sql = "insert into stu_info values(14,'熊大',1,3,100)";
try {
ps = conn.prepareStatement(sql);
int re = ps.executeUpdate();
} catch (SQLException e) {
System.out.println("sql执行失败");
}
}
public static boolean add(String name, int sex) {
Conn.init();
String sql = "insert into stu_info(stu_name,sex)values(?,?)";
try {
ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setInt(2, sex);
return ps.execute();
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
public static int dealBatch(String[] sqls) {
Conn.init();
try {
conn.setAutoCommit(false);
Statement st = conn.createStatement();
for (int i = 0; i < sqls.length; i++) {
st.addBatch(sqls[i]);
}
st.executeBatch();
conn.commit();
return 1;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
public static Integer addReturnPrimaryKey(String sql) {
Conn.init();
try {
ps = conn.prepareStatement(sql, ps.RETURN_GENERATED_KEYS);
int re = ps.executeUpdate();
if (re == 0) {
return 0;
}
ResultSet rs2 = ps.getGeneratedKeys();
Integer id = null;
if (rs2.next()) {
id = rs2.getInt(1);
}
return id;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void close() {
if (rs != null)
rs = null;
if (ps != null)
ps = null;
if (conn != null)
conn = null;
}
public static void main(String[] args) {
String[] sqls = new String[2];
sqls[0] = "insert into stu_info set stu_name='刘备'";
sqls[1] = "insert into stu_info set stu_name='张飞'";
int code = dealBatch(sqls);
System.out.println(code);
add("小飞", 1);
String sql = "insert into stu_info set stu_name='关羽'";
Integer key = addReturnPrimaryKey(sql);
System.out.println(key);
}
}