mysql原⽣态查询java_java使⽤原⽣MySQL实现数据的增删改
查
⼀、⼯具类及配置⽂件准备⼯作
1.1 引⼊jar包
使⽤原⽣MySQL,只需要⽤到MySQL连接的jar包,maven引⽤⽅式如下:
mysql
mysql-connector-java
5.1.48
1.2 jdbc.properties⽂件配置
在resources⽂件夹根⽬录,新增jdbc.properties配置⽂件,内容如下:
sql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydb
user=root
password=123456
1.3 JDBCUtils⼯具类
在java⽂件夹中新增 util --> JDBCUtils.java 类,该类中获取jdbc.properties中的值。
JDBCUtils⼯具类主要作⽤是简化获取MySQL配置⽂件、关闭资源。
private staticString url;private staticString user;private staticString password;static{
Properties properties= newProperties();try{
properties.load(ClassLoader().getResourceAsStream("jdbc.properties"));
url= Property("url");
user= Property("user");
password= Property("password");
Class.Property("driver"));
}catch (IOException |ClassNotFoundException e) {
e.printStackTrace();
}
}//1.获取jdbc.properties配置⽂件中的数据库连接
public static Connection getConnection() throwsSQLException {Connection(url, user, password);
}//5.定义关闭资源的⽅法
public static voidclose(Connection conn, Statement stmt, ResultSet rs) {if (rs != null) {try{
rs.close();
}catch(SQLException e) {}
}if (stmt != null) {try{
stmt.close();
}catch(SQLException e) {}
}if (conn != null) {try{
conn.close();
}catch(SQLException e) {}
}
}public static voidclose(Connection conn, Statement stmt) {
close(conn, stmt,null);
}
⼆、原⽣MySQL实现增删改查
2.1 语法说明
1、通过Connection获取数据库连接对象;
2、定义sql语句(⼀般可以在Navicat中直接执⾏);
3、通过获取执⾏sql的对象 --PreparedStatement;
4、执⾏sql语句:增删改使⽤conn的executeUpdate⽅法(成功返回值为int=1),查询使⽤executeQuery⽅法(返回值为ResultSet,建议使⽤下⽂的查询⽅法操作);
5、释放资源(执⾏SQL时定义的stmt、获取连接时的conn)。
2.2 新增数据 -- insertUser()
在java⽂件夹中新增MyService.java类,将获取数据库连接抽取出来,⽅法如下:
privateConnection conn;
{try{
Connection();
}catch(SQLException e) {
e.printStackTrace();
}
}
在MyService.java类中新增 insertUser⽅法,具体如下
String sql = "INSERT INTO user values (4, ‘腾讯科技‘, ‘xinfeng37812‘, ‘2009-11-16‘, ‘⼴东省深圳市‘)";
PreparedStatement stmt=conn.prepareStatement(sql);int count =uteUpdate(sql);
JDBCUtils.close(conn, stmt);return count;
2.2 修改数据 -- updateById()
String sql = "update user set password = 567875 where id = 2";
PreparedStatement stmt=conn.prepareStatement(sql);int count =uteUpdate(sql);
JDBCUtils.close(conn, stmt);return count;
2.3 删除数据 -- deleteUser()
String sql = "delete from user where id = 5";
PreparedStatement stmt=conn.prepareStatement(sql);int count =uteUpdate(sql); JDBCUtils.close(conn, stmt);return count;
2.4 查询数据 -- findAll()
前提:新建 entity --> User.java 实体类,并获取getter&setter、toSting⽅法;
String sql = "select * from user";
PreparedStatement stmt=conn.prepareStatement(sql);
ResultSet uteQuery(sql);
User user= null;mysql下载jar包
List arr = new ArrayList<>();()){
Long id= Long("id");
String username= String("username");
String password= String("password");
Date birthday= Date("birthday");
String address= String("address");
user= newUser();
user.setId(id);
user.setUsername(username);
user.setPassword(password);
user.setBirthday(birthday);
user.setAddress(address);
arr.add(user);
}
JDBCUtils.close(conn, stmt, count);return arr;
三、原⽣MySQL语句的缺点
1、每⼀次查询都要新增通道,关闭通道,效率太低。实际项⽬中都会⽤数据库连接池进⾏优化;
2、实际项⽬中使⽤最多的就是查询,但是将查询的ResultSet结果,进⾏封装的代码过于臃肿。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论