java访问mysql数据库

时间:2023-03-09 15:20:16
java访问mysql数据库

java访问mysql数据库

 package com.mysql.test;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class JDBC_Test1 {
// 创建静态全局变量
static Connection conn; static Statement st; public static void main(String[] args) {
//insert(); //插入添加记录
//update(); //更新记录数据
//delete(); //删除记录
query(); //查询记录并显示
} /* 插入数据记录,并输出插入的数据记录数*/
public static void insert() { conn = getConnection(); // 首先要获取连接,即连接到数据库 try {
st = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象 String sql = "INSERT INTO employee(num, d_id, name,age, sex, homeaddr)"
+ " VALUES (8, 1007, '*', 66,'男','北京朝阳区')"; // 插入数据的sql语句 int count = st.executeUpdate(sql); // 执行插入操作的sql语句,并返回插入数据的个数 System.out.println("向employee表中插入 " + count + " 条数据"); //输出插入操作的处理结果 conn.close(); //关闭数据库连接 } catch (SQLException e) {
System.out.println("插入数据失败" + e.getMessage());
}
} /* 更新符合要求的记录,并返回更新的记录数目*/
public static void update() {
conn = getConnection(); //同样先要获取连接,即连接到数据库
try {
st = (Statement) conn.createStatement(); //创建用于执行静态sql语句的Statement对象,st属局部变量 String sql = "update employee set name='奥巴马' where d_id = 1006";// 更新数据的sql语句 int count = st.executeUpdate(sql);// 执行更新操作的sql语句,返回更新数据的个数 System.out.println("employee表中更新 " + count + " 条数据"); //输出更新操作的处理结果 conn.close(); //关闭数据库连接 } catch (SQLException e) {
System.out.println("更新数据失败");
}
} /* 查询数据库,输出符合要求的记录的情况*/
public static void query() { conn = getConnection(); //同样先要获取连接,即连接到数据库
try {
st = (Statement) conn.createStatement(); //创建用于执行静态sql语句的Statement对象,st属局部变量
String sql = "select * from employee"; // 查询数据的sql语句 ResultSet rs = st.executeQuery(sql); //执行sql查询语句,返回查询数据的结果集
System.out.println("最后的查询结果为:");
while (rs.next()) { // 判断是否还有下一个数据 // 根据字段名获取相应的值
int num = rs.getInt("num");
int d_id = rs.getInt("d_id");
String name = rs.getString("name");
int age = rs.getInt("age");
String sex = rs.getString("sex");
String homeaddr = rs.getString("homeaddr"); //输出查到的记录的各个字段的值
System.out.println(num + " " + d_id + " " + name + " " + age
+ " " + sex + " " + homeaddr); }
conn.close(); //关闭数据库连接 } catch (SQLException e) {
System.out.println("查询数据失败");
}
} /* 删除符合要求的记录,输出情况*/
public static void delete() { conn = getConnection(); //同样先要获取连接,即连接到数据库
try {
st = (Statement) conn.createStatement(); //创建用于执行静态sql语句的Statement对象,st属局部变量 String sql = "delete from employee where d_id = 1005";// 删除数据的sql语句 int count = st.executeUpdate(sql);// 执行sql删除语句,返回删除数据的数量 System.out.println("employee表中删除 " + count + " 条数据\n"); //输出删除操作的处理结果 conn.close(); //关闭数据库连接 } catch (SQLException e) {
System.out.println("删除数据失败");
} } /* 获取数据库连接的函数*/
public static Connection getConnection() {
Connection con = null; //创建用于连接数据库的Connection对象
try {
Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动 con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/company", "root", "hjf19920121");// 创建数据连接 } catch (Exception e) {
System.out.println("数据库连接失败" + e.getMessage());
}
return con; //返回所建立的数据库连接
}
}
 package com.mysql.test;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class JDBC_test {
static Connection connection = null;
public static void main(String[] args) {
executeTest(); }
/* 获取数据库连接的函数*/
public static Connection getConnection() {
String url = "jdbc:mysql://localhost:3306/company";//获取协议,IP和端口等信息
String user = "root";//获取数据库用户名
String password = "hjf19920121";//获取数据库用户密码 try {
Class.forName("com.mysql.jdbc.Driver");//指定JDBC驱动的类型
connection = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();System.out.println("数据库连接失败" + e.getMessage());
} return connection;
} public static void executeTest() {
connection = getConnection();//同样先要获取连接,即连接到数据库
try {
Statement statement = connection.createStatement();//创建Statement对象 String sql = "delete from employee where d_id = 1005"; boolean st = statement.execute(sql);//如果sql语句是select语句,该方法返回true,如果是update,insert,delete语句该方法返回false
if(st==true){
ResultSet result = statement.executeQuery(sql); System.out.println("最后的查询结果为:"); while(result.next()){
// 根据字段名获取相应的值
int num = result.getInt("num");
int d_id = result.getInt("d_id");
String name = result.getString("name");
int age = result.getInt("age");
String sex = result.getString("sex");
String homeaddr = result.getString("homeaddr"); //输出查到的记录的各个字段的值
System.out.println(num + " " + d_id + " " + name + " " + age
+ " " + sex + " " + homeaddr);
}
}
else{
int i = statement.getUpdateCount();//获取发生变化的记录数
System.out.println(i);
}
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}