工具:eclipse
java1.7版本
heidisql 或比较新的 MySQL
MySQL连接驱动:mysql-connector-java-5.1.20.jar
先在数据库建表
下载mysql-connector-java-5.1.20.jar,放到tes下面。
右键工程tes,选择properties ,单击Add JARs,添加mysql-connector-java-5.1.20.jar。
public class Test {
public static void main(String[] args) throws Exception{
Connection con;
String dirver = "com.mysql.jdbc.Driver";//【1】
String url = "jdbc:mysql://localhost:3306/womr_app_s128?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true";//【2】String password = "password";
/*注释
关于 【1】; 推荐去看看这位写的 https://blog.csdn.net/superdangbo/article/details/78732700
关于【2】localhost可以替换成服务器的id,womr_app_s128 为数据库名 ; ?,是一个标识符,代表后面开始是一些设置。
useUnicode=true&characterEncoding=utf8 他们的作用是指定字符的编码、解码格式。比如,mysql数据库用的是gbk编码,而项目数据库用的是utf-8编码。有了这两个 useUnicode=true&characterEncoding=utf8,1 数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中;2 在从数据库中取数据的时候,数据库会先将数据库中过得数据按GBK格式解码成字节码,然后再将解码后的字节吗重新按UTF-8格式编码数据,最后再将数据返回给客户端。
但是在这边,我当前电脑连的是公司的服务器,遇到了点问题。数据库我是用 heidisql ,我写 jdbc:mysql://localhost:3306,一直连接失败 一直会报错 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 目前找不到解决办法。
autoReconnect=true 当数据库断开始,会自动尝试连接数据库
rewriteBatchedStatements=true,并且在mysql-connector-java-5.1.13.jar以上的版本驱动,能实现高性能批量插入。
*/
try{Class.forName(dirver);//【3】
/*【3】这个有兴趣的话可以看一下 https://www.cnblogs.com/gaojing/archive/2012/03/23/2413638.html
*/
con = DriverManager.getConnection(url, user, password);}
插入
PreparedStatement psql;
psql = con.prepareStatement("insert into t_refit(uid, lead_uid, shipId, refitId, refitLevel )" + "value(?,?,?,?,?)");
psql.setString(1, "dfdfv");
psql.setString(2, "s128dfve");
psql.setString(3, "202004");
psql.setString(4, "2040225");
psql.setInt(5, 2);
psql.executeUpdate();
结果如下:
修改
PreparedStatement psql;
psql = con.prepareStatement("update t_refit set refitLevel = ? where uid = ?");
psql.setInt(1, 4);
psql.setString(2, "dfdfv");
psql.executeUpdate();
结果如下
删除
PreparedStatement psql;
psql = con.prepareStatement("delete from t_refit where uid = ?");
psql.setString(1, "dfdfv");
psql.executeUpdate();