一、关键四元素

   ①    com.mysql.jdbc.Driver      mysql数据库连接jar包。   获取途径: 链接:https://pan.baidu.com/s/1SFcjuut5BsO-4x3U-SdG6Q        提取码:aafz   

  ②    private static final String URL = "jdbc:mysql://localhost:3306/zhaowejie?" + "useUnicode=true&characterEncoding=UTF8";   这是数据库的连接路径。

“jdbc”是协议开头。

“mysql”是子协议数据库名称,代表数据库是mysql。

//localhost:3306”是服务器的IP地址和端口,“zhaowejie?”代表你要连接得数据库的名字。

               "useUnicode=true&characterEncoding=UTF8" 指定操作数据库使用utf-8字符编码进行操作。

  ③   private static final String USER = "root";    数据库连接名。

  ④   private static final String USER = "root";    数据库连接密码。

二、代码实现

  

package machine;

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 JDBCTest {

// 数据库连接ip,user,password需要修改
// private static final String
       private static final String URL = "jdbc:mysql://localhost:3306/zhaowejie?"+ "useUnicode=true&characterEncoding=UTF8";
       private static final String USER = "root";
  private static final String PASSWORD = "123456";

public static void main(String[] args) {

  Connection conn = null;
     Integer id = 0;
  String userName = null;
  String userPassWord = null;
try {
  // 1.加载驱动程序
  Class.forName("com.mysql.jdbc.Driver");
  // 2.获得数据库的连接
  conn = DriverManager.getConnection(URL, USER, PASSWORD);
  // 3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
  query(conn, 1);
  insert(conn, 3, "zhaoweijie", "123445");
  update(conn, "ws", "23456", 1);
} catch (ClassNotFoundException e) {
  e.printStackTrace();
} catch (SQLException e) {
  e.printStackTrace();
}
}

// 查询
private static void query(Connection conn, Integer id) throws SQLException {
  String sql = "SELECT id, userName , userPassWord FROM USERS WHERE id = ?";
  PreparedStatement ps = null;
  ResultSet rs = null;
try {
  ps = conn.prepareStatement(sql);
  ps.setInt(1, id);
  rs = ps.executeQuery();
  while (rs.next()) {
  id = rs.getInt(1);
  String userName = rs.getString(2);
  String userPassWord = rs.getString(3);
  System.out.println("id=" + id + "userName=" + userName + "userPassWord=" + userPassWord);
}
} catch (SQLException e) {
  e.printStackTrace();
} finally {
  rs.close();
conn.close();
  ps.close();
}
}

  // insert
  private static void insert(Connection conn, Integer id, String userName, String userPassWord) throws SQLException {

  int i = 0;
  // sql 插入的语句
  String s = "" + "insert into users(id,userName,userPassWord) values(?,?,?)";
  PreparedStatement ps = null;

  // ResultSet rs=null;
try {
  ps = conn.prepareStatement(s);
  ps.setInt(1, id);
  ps.setString(2, userName);
  ps.setString(3, userPassWord);
  i = ps.executeUpdate();
} catch (SQLException e) {
  e.printStackTrace();
} finally {
  // rs.close();
  conn.close();
  ps.close();
}
}

  // update
  private static void update(Connection conn, String userName, String userPassword, Integer id) throws SQLException {
  int i = 0;
  String sql = "update users set userName = " + "'" + userName + "'" + "," + "userPassword = " + "'"+ userPassword + "'" + " " + "where id = " + id;
  Statement ps = null;

  // ResultSet rs=null;
try {
  // ps = conn.prepareStatement(sql);
  ps = conn.createStatement();
  i = ps.executeUpdate(sql);
} catch (SQLException e) {
  e.printStackTrace();
} finally {
  // rs.close();
  conn.close();
  ps.close();
}
}
}

   

最新文章

  1. 搭建java开发环境、使用eclipse编写第一个java程序
  2. 序列化模块之 pickle 和 json
  3. QQ登录类
  4. 系统级I/O学习记录
  5. AngularJS 的数据绑定
  6. OpenJudge计算概论-矩阵归零消减序列和
  7. hdu 1853 最小费用流好题 环的问题
  8. softlayer virtual machine vhd磁盘镜像导入shell脚本
  9. 重写QSqlTableModel的flags函数实现tableview中某些列不可编辑,某些可以编辑
  10. 《完全用Linux工作》
  11. 外部无法捕捉Realm的doGetAuthenticationInfo方法抛出的异常
  12. LeetCode算法题-Rotated Digits(Java实现)
  13. ActiveMQ嵌入Tomcat
  14. C++与java中的赋值操作符
  15. 使用ROME解析rss,如何获取icon图标
  16. Excel技巧--做一去重复的数据下拉列表
  17. maven工程的common模块jar上传至仓库并被其它模块依赖
  18. LeetCode OJ 60. Permutation Sequence
  19. Java收发邮件过程中具体的功能是怎么实现的
  20. javaScript高级教程(一)javaScript 1.6 Array 新增函数

热门文章

  1. coding++:SpringBoot-事务注解详解
  2. 尴尬,通篇使用 if
  3. Vim查找与替换命令大全,功能完爆IDE!
  4. window部署ftp服务器
  5. centos 64位安装jpeg-6b
  6. Java第十三天,内部类
  7. 37.3 net--TcpDemo1 大小写转换
  8. iphone se2的优缺点分析:
  9. std::string 字符串分割
  10. 【小学数学】算术口诀 独立音频MP3