日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

使用基本工具类和预编译进行对数据库的增删改查

發布時間:2024/2/28 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用基本工具类和预编译进行对数据库的增删改查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?

?

?

?

Properties文件

driver_name=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/ooxx?useServerPrepStmts=true&cachePrepStmts=true
name=root
password=123456

?

?

Utils類

package com.henu.utils;

import java.sql.*;


import java.util.ResourceBundle;

public class JDBCUtil {
????public static Connection getCon(){
????????ResourceBundle rb = ResourceBundle.getBundle("db");
????????Connection con = null;

????????try {
????????????Class.forName(rb.getString("driver_name"));
????????????con = DriverManager.getConnection(rb.getString("url"),rb.getString("name"),rb.getString("password"));

????????} catch (Exception e) {
????????????e.printStackTrace();
????????}
????????return con;
????}

????public static void close(Connection con, PreparedStatement ps, ResultSet rs){
????????if (con != null){
????????????try {
????????????????con.close();
????????????} catch (SQLException e) {
????????????????e.printStackTrace();
????????????}
????????}
????????if (ps != null){
????????????try {
????????????????ps.close();
????????????} catch (SQLException e) {
????????????????e.printStackTrace();
????????????}
????????}
????????if (rs != null){
????????????try {
????????????????rs.close();
????????????} catch (SQLException e) {
????????????????e.printStackTrace();
????????????}
????????}
????}


}

?

package com.henu.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.SimpleFormatter;

public class DateUtil {
????public static Date StringToDate(String str){
????????SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
????????Date date = new Date();
????????try {
????????????date = sdf.parse(str);
????????} catch (ParseException e) {
????????????e.printStackTrace();
????????}
????????return date;
????}
}

?

Bean

package com.henu.bean;

import java.util.Date;

public class Student {
????private int id;
????private String name;
????private int age;
????private Date date;

????public Student() {
????}

????public Student(String name, int age, Date date) {
????????this.name = name;
????????this.age = age;
????????this.date = date;
????}

????public Student(int id, String name, int age, Date date) {
????????this.id = id;
????????this.name = name;
????????this.age = age;
????????this.date = date;
????}

????public int getId() {
????????return id;
????}

????public void setId(int id) {
????????this.id = id;
????}

????public String getName() {
????????return name;
????}

????public void setName(String name) {
????????this.name = name;
????}

????public int getAge() {
????????return age;
????}

????public void setAge(int age) {
????????this.age = age;
????}

????public Date getDate() {
????????return date;
????}

????public void setDate(Date date) {
????????this.date = date;
????}

????@Override
????public String toString() {
????????return "Student{" +
????????????????"id=" + id +
????????????????", name='" + name + '\'' +
????????????????", age=" + age +
????????????????", date=" + date +
????????????????'}';
????}
}

?

Dao

package com.henu.dao;

import com.henu.bean.Student;

import java.util.List;

public interface StudentDAO {

????int insert(Student stu);
????int delect(int id);
????void update(Student stu);
????Student findStuById(int id);
????Student findStuByName(String name);
????List<Student> findAll();

}

?

daoImpl

package com.henu.dao.Impl;

import com.henu.bean.Student;
import com.henu.dao.StudentDAO;
import com.henu.utils.JDBCUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class StudentDAOImpl implements StudentDAO {
????@Override
????public int insert(Student stu) {
????????Connection con = JDBCUtil.getCon();

????????int res = 0;
????????String sql = "insert into student values (null,?,?,?)";
????????PreparedStatement ps = null;
// ???????ps.setString();
????????try {
????????????ps = con.prepareStatement(sql);
????????????ps.setObject(1,stu.getName());
????????????ps.setObject(2,stu.getAge());
????????????ps.setObject(3,stu.getDate());
????????????res = ps.executeUpdate();
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}finally {
????????????JDBCUtil.close(con,ps,null);
????????}
????????return res;
????}

????@Override
????public int delect(int id) {
????????Connection con = JDBCUtil.getCon();
????????PreparedStatement ps = null;
????????String sql = "delete from student where id=?";
????????int res = 0;
????????try {
????????????ps = con.prepareStatement(sql);
????????????ps.setInt(1,id);
????????????res = ps.executeUpdate();
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}finally {
????????????JDBCUtil.close(con,ps,null);
????????}
????????return res;
????}

????@Override
????public void update(Student stu) {
????????Connection con = JDBCUtil.getCon();
????????PreparedStatement ps = null;
????????String sql = " update student set name=?,age=?,birthday=? where id=? ";
????????try {
????????????ps = con.prepareStatement(sql);
????????????ps.setObject(1,stu.getName());
????????????ps.setObject(2,stu.getAge());
????????????ps.setObject(3,stu.getDate());
????????????ps.setObject(4,stu.getId());
????????????int res = ps.executeUpdate();
????????????System.out.println(res >0 ? "更新成功" : "更新失敗");
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}finally{
????????????JDBCUtil.close(con,ps,null);
????????}
????}

????@Override
????public Student findStuById(int id) {
????????Connection con = JDBCUtil.getCon();
????????PreparedStatement ps = null;
????????ResultSet rs = null;
????????Student stu = null;
????????String sql = " select *?from student where id=? ";
????????try {
????????????ps = con.prepareStatement(sql);
????????????ps.setInt(1,id);
????????????rs = ps.executeQuery();
????????????while(rs.next()){
????????????????stu = new Student(rs.getInt("id"),rs.getString("name"),
????????????????????????+rs.getInt("age"),rs.getDate("birthday"));
????????????}
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}finally{
????????????JDBCUtil.close(con,ps,rs);
????????}
????????return stu;
????}

????@Override
????public Student findStuByName(String name) {
????????Connection con = JDBCUtil.getCon();
????????PreparedStatement ps = null;
????????ResultSet rs = null;
????????Student stu = null;
????????String sql = " select *?from student where name=? ";
????????try {
????????????ps = con.prepareStatement(sql);
????????????ps.setString(1,name);
????????????rs = ps.executeQuery();
????????????while(rs.next()){
????????????????stu = new Student(rs.getInt("id"),rs.getString("name"),
????????????????????????+rs.getInt("age"),rs.getDate("birthday"));
????????????}
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}finally{
????????????JDBCUtil.close(con,ps,rs);
????????}
????????return stu;
????}

????@Override
????public List<Student> findAll() {
????????Connection con = JDBCUtil.getCon();
????????PreparedStatement ps = null;
????????ResultSet rs = null;
????????Student stu = null;
????????List<Student> list = new ArrayList<>();
????????String sql = " select *?from student";
????????try {
????????????ps = con.prepareStatement(sql);
????????????rs = ps.executeQuery();
????????????while(rs.next()){
????????????????stu = new Student(rs.getInt("id"),rs.getString("name"),
????????????????????????+rs.getInt("age"),rs.getDate("birthday"));
????????????????list.add(stu);
????????????}
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}finally{
????????????JDBCUtil.close(con,ps,rs);
????????}
????????return list;
????}
}

?

Test

package com.henu.test;

import com.henu.bean.Student;
import com.henu.dao.Impl.StudentDAOImpl;
import com.henu.dao.StudentDAO;
import com.henu.utils.DateUtil;
import com.henu.utils.JDBCUtil;

import java.sql.Connection;
import java.util.Date;
import java.util.List;

public class Test {

????//測試數據庫測試類的連接
????@org.junit.Test
????public void ooxx1(){
????????Connection con = JDBCUtil.getCon();
????????System.out.println(con);
????????JDBCUtil.close(con,null,null);
????}
????//測試StringToDate的方法
????@org.junit.Test
????public void StringToDate(){
????????String str = "1997-10-24";
????????Date date = DateUtil.StringToDate(str);
????????System.out.println(date);
????}

????//實例化dao
????StudentDAO stuDAO = new StudentDAOImpl();
????//測試插入
????@org.junit.Test
????public void ooxx2(){
????????int res = stuDAO.insert(new Student("李冬",22,DateUtil.StringToDate("1997-10-27")));
// ???????Student stu = new Student();
// ???????stu.setName("李冬");
// ???????stu.setAge(22);
// ???????stu.setDate(DateUtil.StringToDate("1997-10-27"));
// ???????int res = stuDAO.insert(stu);
????????System.out.println(res>0? "插入正確" : "插入錯誤");
????}
????//測試刪除
????@org.junit.Test
????public void delete(){
????????int res = stuDAO.delect(3);
????????System.out.println(res>0? "刪除正確" : "刪除錯誤");
????}
????//測試更新
????@org.junit.Test
????public void update(){
????????stuDAO.update(new Student(4,"天使",18,DateUtil.StringToDate("1999-02-08")));
????}
????//測試查詢id
????@org.junit.Test
????public void findbyid(){
????????System.out.println(stuDAO.findStuById(1));
????}

????//測試查詢名字
????@org.junit.Test
????public void findbyname(){
????????System.out.println(stuDAO.findStuByName("天使"));
????}
????//測試查詢全部
????@org.junit.Test
????public void findall(){
????????List<Student> list = stuDAO.findAll();
????????for (Student s : list
?????????????) {
????????????System.out.println(s);
????????}
????}


}

?

?

總結

以上是生活随笔為你收集整理的使用基本工具类和预编译进行对数据库的增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。