注意:需要先引入架包,再调用架包
public static void main(String[] args) throws ClassNotFoundException {
//第一步 加载驱动(提前需要引入架包)需要抛个异常
Class.forName("com.mysql.cj.jdbc.Driver");
//第二步获取数据库连接
//连接字符串
// jdbc:mysql代表我是jdbc的链接字符串
// localhost要连接数据库的服务器名称,也可以用127.0.0.1后面3306是服务器的端口
// demo_db_2019数据库名称,一般般要改就前面三个地方要改
// characterEncoding=UTF-8 连接的时候使用的字符串编码UTF-8
// serverTimezone=Asia/Shanghai指定服务器的时区,不指定会报错,中国使用亚洲上海
// useSSL=false 是否使用加密 false代表没有使用加密
String url = "jdbc:mysql://localhost:3306/demo_db_2019?characterEncoding="
+ "UTF-8&serverTimezone=Asia/Shanghai&useSSL=false";
+
//用户名 密码
String userName = "root";//数据库名称
String password = "root";//数据库密码
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DriverManager.getConnection(url, userName, password); //数据库的连接对象
//第三步 创建 Statement
// Statement statement=conn.createStatement();创建查询对象
// prepareStatement 中使用?作为变量的占位符
// INSERT INTO+需要新增的表名(需要新增的名称)多信息需要用 " , "来隔开。
// VALUE(用?作为变量的占位符)用 " , "来隔开。
String strSql = "INSERT INTO sys_user(user_name,password,real_name,"
+"sex,age,birthday,phone,address,role_id)"
+"VALUE(?,?,?,?,?,?,?,?,?)";
ps = conn.prepareStatement(strSql);
//第四步 参数赋值 索引从1开始
Date date=new Date();
ps.setString(1, "userName 2");//(索引,新增的信息);
ps.setString(2, "pass 2");//字符串需要用""引起,不然报错
ps.setString(3, "姓名123");
ps.setByte(4, (byte) 2);//数据类型则不需要用""引起
ps.setByte(5, (byte) 18);
ps.setDate(6, new java.sql.Date(date.getTime()));
ps.setString(7, "38863993864");
ps.setString(8, "广东省东莞市石排");
ps.setInt(9, 8);
//第五步 执行sql
int rows = ps.executeUpdate();//返回受影响的行数
if (rows==1) {//修改只修改一条数据,如果修改多了则修改失败
System.out.println("新增成功");
} else {
System.out.println("新增失败");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {//一般用来关闭物理资源 finally块一定会被执行
if (conn != null) {//判断是否不为空
try {
conn.close();// 记得一定要关闭数据库的连接
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (ps != null) {//判断是否不为空
try {
ps.close();// 记得一定要关闭数据库的连接
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//删除操作
public static void main(String[] args) throws ClassNotFoundException {
//第一步 加载驱动(提前需要引入架包)需要抛个异常
Class.forName("com.mysql.cj.jdbc.Driver");
//第二步获取数据库连接
//连接字符串
// jdbc:mysql代表我是jdbc的链接字符串
// localhost要连接数据库的服务器名称,也可以用127.0.0.1后面3306是服务器的端口
// demo_db_2019数据库名称,一般般要改就前面三个地方要改
// characterEncoding=UTF-8 连接的时候使用的字符串编码UTF-8
// serverTimezone=Asia/Shanghai指定服务器的时区,不指定会报错,中国使用亚洲上海
// useSSL=false 是否使用加密 false代表没有使用加密
String url = "jdbc:mysql://localhost:3306/demo_db_2019?characterEncoding="
+ "UTF-8&serverTimezone=Asia/Shanghai&useSSL=false";
+
// 用户名 密码
String userName = "root";//数据库名称
String password = "root";//数据库密码
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DriverManager.getConnection(url, userName, password); //数据库的连接对象
System.out.println(conn);
//第三步 创建 Statement
// Statement statement=conn.createStatement();
// prepareStatement 中使用?作为变量的占位符
// DELETE FROM + 上表名 + 删除的条件;如果不写条件会把表里面的内容清空。
// WHERE id=? 一般都是以主键id为条件实现物理删除
String strSql = "DELETE FROM sys_user "
+ "WHERE id=?";
ps = conn.prepareStatement(strSql);
//第四步 参数赋值 索引从1开始
Date date=new Date();
ps.setInt(1, 13);//(索引,删除的id数)
//第五步 执行sql
int rows = ps.executeUpdate();//返回受影响的行数
if (rows==1) {//修改只修改一条数据,如果修改多了则修改失败
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();// 记得一定要关闭数据库的连接
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();// 记得一定要关闭数据库的连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}