java连接mysql数据库
jdbc语句
加载驱动
//1. 加载驱动,也可以不加载,新版本jdbc会自动加载
Class.forName("com.mysql.cj.jdbc.Driver");
建立连接
//2. 建立连接
//方法一:(本机的数据库写localhost,端口号为3306,账号为root,密码为空)
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "");
//方法二:(使用 ddd 数据库)
Connection conn = DriverManager.getConnection("jdbc:mysql://:3306/ddd", "root", "");
//方法三:(使用参数,直接将账号写入)
Connection conn = DriverManager.getConnection("jdbc:mysql://:3306/ddd?user=root");
//(使用部分参数)
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql? useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai", "root", "");
//参数 设置时区 serverTimezone=Asia/Shanghai
//参数 使用字符集 useUnicode=true
//参数 设置字符集为utf-8 characterEncoding=utf-8
//参数 设置SSL禁用 useSSL = false
检查是否连接上
//输出查看一下,确定是否连接成功
System.out.println(conn);
执行sql语句,使用Java程序操作数据库
//3. 执行sql语句
Statement st = conn.createStatement();
//创建数据库ddd,并设置字符集为utf-8
st.execute("create database ddd default charset utf8");
//创建表
st.execute("create table stu(id int unsigned auto_increment ,name varchar(30),primary key (id))");
//插入数据
int rows = st.executeUpdate("insert into ddd.stu values(null,'李四'),(null,'张三'),(null,'王五')");
//输出插入数据的行数
System.out.println(rows);
//通过查询语句,从数据库读出数据,使用循环显示数据
ResultSet rs = st.executeQuery("select * from ddd.stu order by id desc ");
if (rs.isBeforeFirst()) {
while (rs.next()) {
System.out.printf("id:%d,name:%s. %n", rs.getInt(1), rs.getString("name"));
}
} else {
System.out.println("没有数据");
}
关闭连接
//4. 关闭数据库连接
st.close();
rs.close();
conn.close();