发表于: 2019-11-23 22:59:56
1 1176
今天完成的事情
完成jdbc curd的编写
工具类
public class jdbcConnect {
private static String driverName = "com.mysql.jdbc.Driver";
private static String userName = "root";
private static String userPwd = "admin";
public static Connection getDBconnection(){
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8";
//这里的3306/后面接的test是数据库名!
try{
Class.forName(driverName);
Connection con= DriverManager.getConnection(url, userName, userPwd);
return con;
}catch (Exception e) {
e.printStackTrace();
}
return null;
}
Curd类
public class Curd {
public static void main(String[] args) throws Exception {
Curd curd =new Curd();
curd.add();
curd.add();
curd.add();
curd.add();
curd.selectAll();
curd.del();
curd.update();
}
public void selectAll() throws Exception{
Connection con = jdbcConnect.getDBconnection();
String sql = "select * from person";
PreparedStatement pst = con.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
while(rs.next()){
System.out.println(rs.getString("id")+"\t"+rs.getString("name")+"\t"+rs.getString("price")+"\t"+rs.getString("dsc"));
}
// 关闭资源
rs.close();
pst.close();
con.close();
}
public void update() throws Exception{
Connection con = jdbcConnect.getDBconnection();
String sql = "UPDATE person SET name=?,price=? WHERE id=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setObject(1, "小明");
pst.setObject(2, 3988);
pst.setObject(003, 1);
pst.executeUpdate();
//关闭资源
pst.close();
con.close();
}
public void add() throws Exception{
Connection con = jdbcConnect.getDBconnection();
String sql = "insert into person (name,price,dsc) value(?,?,?)";
PreparedStatement pst = con.prepareStatement(sql);
pst.setObject(1, "小明");
pst.setObject(2, 3988);
pst.setObject(3, "1234211244");
pst.executeUpdate();
// 关闭资源
pst.close();
con.close();
}
public void del() throws Exception{
Connection con = jdbcConnect.getDBconnection();
String sql = "DELETE FROM Person WHERE id = ? ";
PreparedStatement pst = con.prepareStatement(sql);
pst.setObject(1, 2);
pst.executeUpdate();
// 关闭资源
pst.close();
con.close();
}
}
直接用Maven命令跑单元测试。
用java 命令 运行jar包 执行main方法
测试一下连接DB中断后TryCatch是否能正常处理。
//try catch异常测试
public class TryCatchTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
final String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8";
final String name = "com.mysql.jdbc.Driver";
final String user = "root";
final String password = "admin";
Connection conn = null;
Class.forName(name);//指定连接类型
conn = DriverManager.getConnection(url, user, password);//获取连接
if (conn != null)
{
System.out.println("获取连接成功");
} else {
System.out.println("获取连接失败");
}
String sql = "INSERT INTO teacher (name, age) VALUES (?,?)";
try {
conn.setAutoCommit(false);
PreparedStatement pst = (PreparedStatement) conn.prepareStatement(" ");//准备执行语句
pst.setObject(1, "小明");
pst.setObject(2, 39);
//手动关闭,中断连接
conn.close();
pst.executeUpdate();
pst.close();
}
catch (SQLException e){
System.out.println("连接异常中断!!!!!!!!!!!!");
System.out.println(e);
}
}
}
try catch可以正常处理
检查一下自己的代码是否符合规范,如果DB的表格有改动,应该改哪些内容,需要多久。 DB表格改动,字段名改变需要修改sql语句相关的内容或者增加别名,增加字段除sql修改以外可能还要修改PreparedStatement的参数
一天应该够了
今天遇到的问题
使用java 命令跑jar包的时候,找不到main方法
原因和解决办法:在pom文件中指定main方法的路径(src/java/),再打包成jar
明天要做的事情
1.数据库里插入100万条数据,对比建索引和不建索引的效率查别。再插入3000万条数据,然后是2亿条
2.完成对原有的jdbc curd ,springjdbctemplate,mybaitsdemo,springmybaits的代码修改,将代码规范化
评论