Java-链接数据(mysql)
链接数据库的步骤
1.加载驱动
2.链接数据库
3.获取sql语句执行器
4.执行sql语句
5.关闭相应资源
下载那个版本看自己的mysql装的什么版本
下载完成,解压之后
导入jar包
使用 IntelliJ IDEA
- 现在项目目录下创建一个文件夹 lib
- 右击jar包,点击Add as Library…
链接数据库简单案例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class HelloWorld {
private static final String DRIVER = "com.mysql.cj.jdbc.Driver";//8.0使用这个
//private static final String DRIVER = "com.mysql.jdbc.Driver";//5.0使用这个
private static final String USER = "root";//自己数据库的用户名
private static final String PASSWORD = "666666";//自己数据库的密码
/*test是自己的数据库名*/
private static final String URL = "jdbc:mysql://127.0.0.1/lcb_test?useSSL=false&serverTimezone=UTC";//链接数据库的地址
public static void main(String[] args) throws Exception{
//加载驱动
Class.forName(DRIVER);
//链接数据库
Connection conn = DriverManager.getConnection(URL,USER,PASSWORD);
System.out.println("链接成功");
//获取sql语句执行器
Statement sta = conn.createStatement();
int id1 = 1;//可以把查询封装成一个方法 把id传进去
//编写sql语句
String sql = "select * from user where id="+id1;
//执行sql语句
ResultSet rs = sta.executeQuery(sql);
while (rs.next()){
int id = rs.getInt("id");
String username = rs.getString("username");
String password = rs.getString("password");
String sex = rs.getString("sex");
String phone = rs.getString("phone");
System.out.println(id+"\t"+username+"\t"+password+"\t"+sex+"\t"+phone);
}
conn.close();
sta.close();
rs.close();
}
}
增、删、改 使用 int executeUpdate(String sql) ,(返回值是影响了几行)
查询 使用的是 ResultSet executeQuery(String sql), (返回值是一个结果集)
PreparedStatement的使用(可以防止sql注入)
上面案例 查询使用的是Statement
import java.sql.*;
public class CSDN {
private static final String DRIVER = "com.mysql.cj.jdbc.Driver";//8.0使用这个
//final String DRIVER = "com.mysql.jdbc.Driver";//5.0使用这个
private static final String USER = "root";//自己数据库的用户名
private static final String PASSWORD = "666666";//自己数据库的密码
/*test是自己的数据库名*/
private static final String URL = "jdbc:mysql://127.0.0.1/lcb_test?useSSL=false&serverTimezone=UTC";//链接数据库的地址
public static void main(String[] args) throws Exception{
//加载驱动
Class.forName(DRIVER);
//链接数据库
Connection conn = DriverManager.getConnection(URL,USER,PASSWORD);
System.out.println("链接成功");
//编写sql语句
String sql = "select * from user where id = ?";
PreparedStatement psta = conn.prepareStatement(sql);
psta.setObject(1,1);//第一个参数是第几个问号
ResultSet rs = psta.executeQuery();
while (rs.next()){
int id = rs.getInt("id");
String username = rs.getString("username");
String password = rs.getString("password");
String sex = rs.getString("sex");
String phone = rs.getString("phone");
System.out.println(id+"\t"+username+"\t"+password+"\t"+sex+"\t"+phone);
}
conn.close();
psta.close();
rs.close();
}
}
推荐大家使用 PreparedStatement ,不但可以防止sql注入,而且可以提高效率
可以把USER,PASSWORD,URL,DRIVER ,放进properties配置文件里,我之前发过properties的简单使用