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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用dbutils对表进行增删改查

發(fā)布時間:2024/2/28 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用dbutils对表进行增删改查 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

?

直接上代碼!!!

?

---------------------------------------------------------------------------------------------------------------------------

?

?

數(shù)據(jù)庫.sql

/*

Navicat MySQL Data Transfer

?

Source Server ????????: mysql

Source Server Version : 50549

Source Host ??????????: localhost:3306

Source Database ??????: dbcp

?

Target Server Type ???: MYSQL

Target Server Version : 50549

File Encoding ????????: 65001

?

Date: 2019-08-15 18:46:32

*/

?

SET FOREIGN_KEY_CHECKS=0;

?

-- ----------------------------

-- Table structure for player

-- ----------------------------

DROP TABLE IF EXISTS `player`;

CREATE TABLE `player` (

??`pid` int(11) NOT NULL AUTO_INCREMENT,

??`pname` varchar(255) NOT NULL,

??`pheight` double NOT NULL,

??`pweight` double NOT NULL,

??PRIMARY KEY (`pid`)

) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

?

-- ----------------------------

-- Records of player

-- ----------------------------

INSERT INTO `player` VALUES ('1', '保羅喬治', '203', '110');

INSERT INTO `player` VALUES ('2', '卡哇伊', '198', '115');

INSERT INTO `player` VALUES ('3', '貝弗利', '190', '80');

INSERT INTO `player` VALUES ('4', '哈雷爾', '200', '120');

INSERT INTO `player` VALUES ('5', '祖巴茨', '216', '108');

INSERT INTO `player` VALUES ('6', '路易威廉姆斯', '180', '79');

?

?

?

c3p0-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<c3p0-config>

????<default-config>
????????<property name="driverClass">com.mysql.jdbc.Driver</property>
????????<property name="jdbcUrl">jdbc:mysql://localhost:3306/dbcp</property>
????????<property name="user">root</property>
????????<property name="password">123456</property>

????????<property name="acquireIncrement">5</property>
????????<property name="initialPoolSize">10</property>
????????<property name="minPoolSize">5</property>
????????<property name="maxPoolSize">20</property>
????</default-config>


</c3p0-config>

?

JdbcUtil

?

package com.henu.util;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mchange.v2.c3p0.ComboPooledDataSource;

public class JdbcUtil {

????private static ComboPooledDataSource ds = null;


????//在靜態(tài)代碼塊中創(chuàng)建數(shù)據(jù)庫連接池
????static{
????????try{
????????????ds = new ComboPooledDataSource("c3p0-config");//使用C3P0的命名配置來創(chuàng)建數(shù)據(jù)源

????????}catch (Exception e) {
????????????throw new ExceptionInInitializerError(e);
????????}
????}

????public static ComboPooledDataSource getDataSourse(){
????????return ds;
????}

????public static Connection getConnection() throws SQLException{
????????//從數(shù)據(jù)源中獲取數(shù)據(jù)庫連接
????????return ds.getConnection();
????}

????public static void close(Connection conn,Statement st,ResultSet rs){
????????if(rs!=null){
????????????try{
????????????????rs.close();
????????????}catch (Exception e) {
????????????????e.printStackTrace();
????????????}
????????}
????????if(st!=null){
????????????try{
????????????????st.close();
????????????}catch (Exception e) {
????????????????e.printStackTrace();
????????????}
????????}

????????if(conn!=null){
????????????try{
????????????????conn.close();
????????????}catch (Exception e) {
????????????????e.printStackTrace();
????????????}
????????}
????}
}

?

?

Player

package com.henu.bean;

public class Player {
????private int pid;
????private String pname;
????private double pheight;
????private double pweight;

????public Player() {
????}

????public Player(String pname, double pheight, double pweight) {
????????this.pname = pname;
????????this.pheight = pheight;
????????this.pweight = pweight;
????}

????public Player(int pid, String pname, double pheight, double pweight) {
????????this.pid = pid;
????????this.pname = pname;
????????this.pheight = pheight;
????????this.pweight = pweight;
????}

????public int getPid() {
????????return pid;
????}

????public void setPid(int pid) {
????????this.pid = pid;
????}

????public String getPname() {
????????return pname;
????}

????public void setPname(String pname) {
????????this.pname = pname;
????}

????public double getPheight() {
????????return pheight;
????}

????public void setPheight(double pheight) {
????????this.pheight = pheight;
????}

????public double getPweight() {
????????return pweight;
????}

????public void setPweight(double pweight) {
????????this.pweight = pweight;
????}

????@Override
????public String toString() {
????????return "Player{" +
????????????????"pid=" + pid +
????????????????", pname='" + pname + '\'' +
????????????????", pheight=" + pheight +
????????????????", pweight=" + pweight +
????????????????'}';
????}
}

?

?

PlayDao

package com.henu.dao;

import com.henu.bean.Player;

import java.util.List;

public interface PlayDao {
????int insert(Player player);
????int delete(int id);
????int update(Player player);
????List<Player> findAll();
????Player findPlayerById(int id);
????Player findPlayerByName(String name);
}

?

?

PlayDaoImpl

package com.henu.dao.impl;

import com.henu.bean.Player;
import com.henu.dao.PlayerDao;
import com.henu.util.JdbcUtil;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import java.sql.SQLException;
import java.util.List;

public class PlayDaoImpl implements PlayerDao {
????@Override
????public int insert(Player player) {
????????QueryRunner qr = new QueryRunner(JdbcUtil.getDataSourse());
????????String sql = "insert into player values (null,?,?,?)";
????????int res = 0;
????????try {
????????????res = qr.update(sql,new Object[]{player.getPname(),player.getPheight(),player.getPweight()});
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}
????????return res;
????}

????@Override
????public int delete(int id) {
????????QueryRunner qr = new QueryRunner(JdbcUtil.getDataSourse());
????????String sql = "delete from player where pid = ?";
????????int res = 0;
????????try {
????????????res = qr.update(sql,id);
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}
????????return res;
????}

????@Override
????public int update(Player player) {
????????QueryRunner qr = new QueryRunner(JdbcUtil.getDataSourse());
????????String sql = "update player set pname=?,pheight=?,pweight=? where pid=?";
????????int res = 0;
????????try {
????????????res = qr.update(sql,new Object[]{player.getPname(),player.getPheight(),player.getPweight(),player.getPid()});
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}
????????return res;
????}

????@Override
????public List<Player> findAll() {
????????QueryRunner qr = new QueryRunner(JdbcUtil.getDataSourse());
????????String sql = "select * from player";
????????List<Player> list = null;
????????try {
????????????list = (List<Player>) qr.query(sql,new BeanListHandler<>(Player.class));
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}
????????return list;
????}

????@Override
????public Player findPlayerById(int id) {
????????QueryRunner qr = new QueryRunner(JdbcUtil.getDataSourse());
????????String sql = "select * from player where pid = ?";
????????Player player= null;
????????try {
????????????player = qr.query(sql, new BeanHandler<>(Player.class),id);
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}
????????return player;
????}

????@Override
????public Player findPlayerByName(String name) {
????????QueryRunner qr = new QueryRunner(JdbcUtil.getDataSourse());
????????String sql = "select * from player where pname = ?";
????????Player player= null;
????????try {
????????????player = qr.query(sql, new BeanHandler<>(Player.class),name);
????????} catch (SQLException e) {
????????????e.printStackTrace();
????????}
????????return player;
????}
}

?

Test

package com.henu.test;

import com.henu.bean.Player;
import com.henu.dao.PlayerDao;
import com.henu.dao.impl.PlayDaoImpl;

import java.util.List;

public class Test {

????PlayerDao playerDao = new PlayDaoImpl();
????@org.junit.Test
????public void insert(){
????????int res = playerDao.insert(new Player("格林", 206, 103));
????????System.out.println(res>0 ? "insert success" : "insert error");
????}

????@org.junit.Test
????public void delete(){
????????int res = playerDao.delete(8);
????????System.out.println(res>0 ? "delete success" : "delete error");
????}

????@org.junit.Test
????public void update(){
????????int res = playerDao.update(new Player(6,"鮑爾默",178,80));
????????System.out.println(res>0 ? "update success" : "update error");
????}

????@org.junit.Test
????public void findall(){
????????List<Player> list = playerDao.findAll();
????????for (Player p: list
?????????????) {
????????????System.out.println(p);
????????}
????}

????@org.junit.Test
????public void findbyid(){
????????Player player = playerDao.findPlayerById(5);
????????System.out.println(player);
????}


????@org.junit.Test
????public void findbyname(){
????????Player player = playerDao.findPlayerByName("卡哇伊");
????????System.out.println(player);
????}




}

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的使用dbutils对表进行增删改查的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。