El paquete de datos de terceros crea objetos de conexión a la base de datos

1. Utilice el grupo de conexiones C3P0 a través de JDBC

      C3P0 es un grupo de conexiones JDBC de código abierto , que implementa la fuente de datos y el enlace JNDI , admite la especificación JDBC3 y la extensión estándar JDBC2. Los proyectos de código abierto que lo utilizan actualmente incluyen Hibernate, Spring, etc.

      P.ej:

            1. Crea una tabla de base de datos

                  crear tabla t_user (

                  u_id int clave primaria auto_increment,

                  u_nombre varchar (20),

                  u_age int,

                  u_address varchar (30)

                  );

            2. Cree un proyecto Java e importe paquetes dependientes

                  c3p0-0.9.5.2.jar

                  cambiar-commons-java-0.2.15.jar

                  mysql-conector-java-5.1.38.jar

            3. Cree el archivo de configuración c3p0 en src [c3p0-config.xml]

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
    <!-- c3p0的默认配置项 -->
	<default-config>
    	<property name="driverClass">com.mysql.jdbc.Driver</property>
    	<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
    	<property name="user">root</property>
    	<property name="password">123456</property>
    	<property name="initialPoolSize">5</property>
    	<property name="maxPoolSize">20</property>
  	</default-config>
  	<!-- 定义的数据库配置 -->
  	<named-config name="test"> 
    	<property name="driverClass">com.mysql.jdbc.Driver</property>
    	<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
    	<property name="user">root</property>
    	<property name="password">123456</property>
    	<property name="initialPoolSize">25</property>
    	<property name="maxPoolSize">200</property>
  	</named-config>
</c3p0-config>

            4. Cree javabean

            5. Cree una clase de acceso a la base de datos

package com.wangxing.jdbcc3p0.dao;

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

import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.wangxing.jdbcc3p0.bean.UserBean;

/**
 * 用户信息的访问类
 * 
 * @author Administrator
 *
 */
public class UserBeanDaoClass {

	// 定义保存c3p0数据源对象
	private ComboPooledDataSource dataSource = null;

	public UserBeanDaoClass() {
		// 加载c3p0-config.xml文件中默认的config
		// 初始化数据源
		dataSource = new ComboPooledDataSource();
		// 初始化数据源,加载的是自定义的数据库表配置项
		// dataSource =new ComboPooledDataSource("my");
	}
	// 添加用户信息
	public void insertUser(UserBean userBean) {
		Connection conn = null;
		PreparedStatement statement = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建添加数据的sql语句
			String insert = "insert into t_user values(null,?,?,?);";
			System.out.println(insert);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(insert);
			// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
			statement.setString(1, userBean.getUname());
			statement.setInt(2, userBean.getUage());
			statement.setString(3, userBean.getUaddress());
			// 执行添加sql
			int temp = statement.executeUpdate();
			if (temp > 0) {
				System.out.println("添加信息成功");
			}
		} catch (Exception e) {
			System.out.println("添加信息失败");
			e.printStackTrace();
		} finally {
			if (statement != null && conn != null) {
				try {
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
	// 根据用户id修改用户信息
	public void updateUser(UserBean userBean) {
		Connection conn = null;
		PreparedStatement statement = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建修改数据的sql语句
			String update = "update t_user set u_name=?,u_age=?,u_address=? where u_id=?;";
			System.out.println(update);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(update);
			// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
			statement.setString(1, userBean.getUname());
			statement.setInt(2, userBean.getUage());
			statement.setString(3, userBean.getUaddress());
			statement.setInt(4, userBean.getUid());
			// 执行修改sql
			int temp = statement.executeUpdate();
			if (temp > 0) {
				System.out.println("修改信息成功");
			}
		} catch (Exception e) {
			System.out.println("修改信息失败");
			e.printStackTrace();
		} finally {
			if (statement != null && conn != null) {
				try {
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
	// 根据用户id查询用户信息
	public UserBean selectUserById(int userid) {
		UserBean userbean = null;
		Connection conn = null;
		PreparedStatement statement = null;
		ResultSet resultSet = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建根据用户id查询用户信息sql语句
			String select = "select * from t_user where u_id=?;";
			System.out.println(select);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(select);
			statement.setInt(1, userid);
			// 执行查询sql
			resultSet = statement.executeQuery();
			if (resultSet.next()) {
				int id = resultSet.getInt("u_id");
				String name = resultSet.getString("u_name");
				int age = resultSet.getInt("u_age");
				String address = resultSet.getString("u_address");
				userbean = new UserBean();
				userbean.setUid(id);
				userbean.setUname(name);
				userbean.setUage(age);
				userbean.setUaddress(address);
			}
		} catch (Exception e) {
			System.out.println("查询信息失败");
			e.printStackTrace();
		} finally {
			if (resultSet != null && statement != null && conn != null) {
				try {
					resultSet.close();
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		return userbean;
	}
	// 查询所有用户信息
	public List<UserBean> selectUser() {
		List<UserBean> userlist = new ArrayList<UserBean>();
		Connection conn = null;
		PreparedStatement statement = null;
		ResultSet resultSet = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建查询所有用户信息sql语句
			String select = "select * from t_user;";
			System.out.println(select);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(select);
			// 执行查询sql
			resultSet = statement.executeQuery();
			while (resultSet.next()) {
				int id = resultSet.getInt("u_id");
				String name = resultSet.getString("u_name");
				int age = resultSet.getInt("u_age");
				String address = resultSet.getString("u_address");
				UserBean userbean = new UserBean();
				userbean.setUid(id);
				userbean.setUname(name);
				userbean.setUage(age);
				userbean.setUaddress(address);
				userlist.add(userbean);
			}
		} catch (Exception e) {
			System.out.println("查询信息失败");
			e.printStackTrace();
		} finally {
			if (resultSet != null && statement != null && conn != null) {
				try {
					resultSet.close();
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		return userlist;
	}
	// 根据id删除用户信息
	public void deleteUserById(int userid) {
		Connection conn = null;
		PreparedStatement statement = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建删除数据的sql语句
			String delete = "delete from t_user where u_id=?;";
			System.out.println(delete);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(delete);
			statement.setInt(1, userid);
			// 执行删除sql
			int temp = statement.executeUpdate();
			if (temp > 0) {
				System.out.println("删除信息成功");
			}
		} catch (Exception e) {
			System.out.println("删除信息失败");
			e.printStackTrace();
		} finally {
			if (statement != null && conn != null) {
				try {
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
}

             Información

package com.wangxing.jdbcc3p0.bean;
/**
 * 保存用户信息的java类
 * @author Administrator
 *
 */
public class UserBean {
	private  int  uid;
	private  String uname;
	private  int uage;
	private  String uaddress;
	public int getUid() {
		return uid;
	}
	public void setUid(int uid) {
		this.uid = uid;
	}
	public String getUname() {
		return uname;
	}
	public void setUname(String uname) {
		this.uname = uname;
	}
	public int getUage() {
		return uage;
	}
	public void setUage(int uage) {
		this.uage = uage;
	}
	public String getUaddress() {
		return uaddress;
	}
	public void setUaddress(String uaddress) {
		this.uaddress = uaddress;
	}
}

            método de prueba

package com.wangxing.jdbcc3p0.test;

import com.wangxing.jdbcc3p0.bean.UserBean;
import com.wangxing.jdbcc3p0.dao.UserBeanDaoClass;

public class TestMain {

	public static void main(String[] args) {
		 //测试添加数据 
		  UserBean userbean=new UserBean();
		  userbean.setUname("wangwu"); 
		  userbean.setUage(25);
		  userbean.setUaddress("西安"); 
		  UserBeanDaoClass userDao=new UserBeanDaoClass(); 
		  userDao.insertUser(userbean);
	}
}

      Ventajas: No es necesario escribir manualmente la operación de creación de un objeto de conexión de base de datos, porque la configuración del grupo de conexiones de base de datos de c3p0 se ha configurado e inicializado correctamente. Proporcionar eficiencia en la ejecución del programa. No necesita modificar el código fuente cuando cambie la base de datos en el futuro, solo necesita modificar la configuración del grupo de conexiones de la base de datos c3p0.

2. Utilice el grupo de conexiones dbcp a través de JDBC

      El grupo de conexiones de base de datos es responsable de asignar, administrar y liberar conexiones de base de datos. Permite que las aplicaciones reutilicen una conexión de base de datos existente en lugar de restablecer una; libera conexiones de base de datos cuyo tiempo de inactividad excede el tiempo de inactividad máximo para evitar conexiones de base de datos que no lo son. La conexión a la base de datos causada por la omisión. Esta tecnología puede mejorar significativamente el rendimiento de las operaciones de la base de datos.

      Ejemplos:

            1. Crea una tabla de base de datos

                  crear tabla t_user (

                  u_id int clave primaria auto_increment,

                  u_nombre varchar (20),

                  u_age int,

                  u_address varchar (30)

                  );

            2. Cree un proyecto java e importe el paquete jar

                  commons-dbcp-1.4.jar

                  commons-dbutils-1.6.jar

                  commons-pool-1.6.jar

            3. Cree un archivo de configuración de conexión a la base de datos en src [xxxxxxxx.properties]

                  driverClassName = com.mysql.jdbc.Driver

                  url = jdbc: mysql: //127.0.0.1: 3306 / test? useUnicode = true & characterEncoding = utf8

                  nombre de usuario = root

                  contraseña = 123456

                  maxActive = 50

                  maxIdle = 20

                  maxWait = 60000

            4. Cree javabean [igual que el anterior]

            5. Cree una clase de acceso a la base de datos

package com.wangxing.jdbcdbcp.dao;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;

import com.wangxing.jdbcdbcp.bean.UserBean;

/**
 * 用户信息的访问类
 * 
 * @author Administrator
 *
 */
public class UserBeanDaoClass {

	// 定义保存dbcp数据源对象
	private DataSource dataSource = null;
	
	public UserBeanDaoClass() {
		try{
		 Properties pro=new Properties();
                 //getResourceAsStream("该参数名称应与上面配置文件名相同,后缀不能改动")
		 InputStream inStream=this.getClass().getResourceAsStream("/mydata.properties");
		 pro.load(inStream);
		 dataSource=BasicDataSourceFactory.createDataSource(pro);
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	// 添加用户信息
	public void insertUser(UserBean userBean) {
		Connection conn = null;
		PreparedStatement statement = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建添加数据的sql语句
			String insert = "insert into t_user values(null,?,?,?);";
			System.out.println(insert);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(insert);
			// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
			statement.setString(1, userBean.getUname());
			statement.setInt(2, userBean.getUage());
			statement.setString(3, userBean.getUaddress());
			// 执行添加sql
			int temp = statement.executeUpdate();
			if (temp > 0) {
				System.out.println("添加信息成功");
			}
		} catch (Exception e) {
			System.out.println("添加信息失败");
			e.printStackTrace();
		} finally {
			if (statement != null && conn != null) {
				try {
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}

	// 根据用户id修改用户信息
	public void updateUser(UserBean userBean) {
		Connection conn = null;
		PreparedStatement statement = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建修改数据的sql语句
			String update = "update t_user set u_name=?,u_age=?,u_address=? where u_id=?;";
			System.out.println(update);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(update);
			// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
			statement.setString(1, userBean.getUname());
			statement.setInt(2, userBean.getUage());
			statement.setString(3, userBean.getUaddress());
			statement.setInt(4, userBean.getUid());
			// 执行修改sql
			int temp = statement.executeUpdate();
			if (temp > 0) {
				System.out.println("修改信息成功");
			}
		} catch (Exception e) {
			System.out.println("修改信息失败");
			e.printStackTrace();
		} finally {
			if (statement != null && conn != null) {
				try {
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}

	// 根据用户id查询用户信息
	public UserBean selectUserById(int userid) {
		UserBean userbean = null;
		Connection conn = null;
		PreparedStatement statement = null;
		ResultSet resultSet = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建根据用户id查询用户信息sql语句
			String select = "select * from t_user where u_id=?;";
			System.out.println(select);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(select);
			statement.setInt(1, userid);
			// 执行查询sql
			resultSet = statement.executeQuery();
			if (resultSet.next()) {
				int id = resultSet.getInt("u_id");
				String name = resultSet.getString("u_name");
				int age = resultSet.getInt("u_age");
				String address = resultSet.getString("u_address");
				userbean = new UserBean();
				userbean.setUid(id);
				userbean.setUname(name);
				userbean.setUage(age);
				userbean.setUaddress(address);
			}
		} catch (Exception e) {
			System.out.println("查询信息失败");
			e.printStackTrace();
		} finally {
			if (resultSet != null && statement != null && conn != null) {
				try {
					resultSet.close();
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		return userbean;
	}

	// 查询所有用户信息
	public List<UserBean> selectUser() {
		List<UserBean> userlist = new ArrayList<UserBean>();
		Connection conn = null;
		PreparedStatement statement = null;
		ResultSet resultSet = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建查询所有用户信息sql语句
			String select = "select * from t_user;";
			System.out.println(select);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(select);
			// 执行查询sql
			resultSet = statement.executeQuery();
			while (resultSet.next()) {
				int id = resultSet.getInt("u_id");
				String name = resultSet.getString("u_name");
				int age = resultSet.getInt("u_age");
				String address = resultSet.getString("u_address");
				UserBean userbean = new UserBean();
				userbean.setUid(id);
				userbean.setUname(name);
				userbean.setUage(age);
				userbean.setUaddress(address);
				userlist.add(userbean);
			}
		} catch (Exception e) {
			System.out.println("查询信息失败");
			e.printStackTrace();
		} finally {
			if (resultSet != null && statement != null && conn != null) {
				try {
					resultSet.close();
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		return userlist;
	}

	// 根据id删除用户信息
	public void deleteUserById(int userid) {
		Connection conn = null;
		PreparedStatement statement = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建删除数据的sql语句
			String delete = "delete from t_user where u_id=?;";
			System.out.println(delete);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(delete);
			statement.setInt(1, userid);
			// 执行删除sql
			int temp = statement.executeUpdate();
			if (temp > 0) {
				System.out.println("删除信息成功");
			}
		} catch (Exception e) {
			System.out.println("删除信息失败");
			e.printStackTrace();
		} finally {
			if (statement != null && conn != null) {
				try {
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
}

prueba

package com.wangxing.jdbcdbcp.test;

import com.wangxing.jdbcdbcp.bean.UserBean;
import com.wangxing.jdbcdbcp.dao.UserBeanDaoClass;

public class TestMain {

	public static void main(String[] args) {
		 //测试修改数据 
		  UserBean userbean=new UserBean();
		  userbean.setUid(3);
		  userbean.setUname("王五"); 
		  userbean.setUage(25);
		  userbean.setUaddress("西安"); 
		  UserBeanDaoClass userDao=new UserBeanDaoClass(); 
		  userDao.updateUser(userbean);
	}

}

3. Acceso a JDBC Druid

      Druid es primero un grupo de conexiones de base de datos. Druid es actualmente el mejor grupo de conexiones de bases de datos, en términos de funcionalidad, rendimiento y escalabilidad, supera a otros grupos de conexiones de bases de datos, incluidos DBCP, C3P0, BoneCP, Proxool y JBoss DataSource. Druid ha implementado más de 600 aplicaciones en Alibaba y ha sido probado rigurosamente en un entorno de producción a gran escala durante más de un año. Druid es un grupo de conexiones de base de datos desarrollado por Alibaba llamado Monitoring!

      Al mismo tiempo, Druid no es solo un grupo de conexiones de base de datos, incluye cuatro partes:

      Druid es un componente JDBC, que incluye tres partes:

            Sistema de plug-in basado en el modelo Filter-Chain.

            Grupo de conexión de base de datos eficiente y administrable de DruidDataSource.

           SQLParser

      Características de Druid

            1. Reemplace DBCP y C3P0. Druid proporciona un grupo de conexiones de base de datos eficiente, potente y escalable.

            2. Puede supervisar el rendimiento del acceso a la base de datos Druid proporciona un potente complemento StatFilter integrado, que puede realizar estadísticas detalladas sobre el rendimiento de la ejecución de SQL, lo que es útil para el análisis del rendimiento del acceso a la base de datos en línea.

            3. La contraseña de la base de datos está cifrada. Escribir la contraseña de la base de datos directamente en el archivo de configuración es un mal comportamiento y puede generar fácilmente problemas de seguridad. Tanto DruidDruiver como DruidDataSource admiten PasswordCallback.

            4. Registro de ejecución de SQL. Druid proporciona diferentes LogFilters, que pueden admitir Common-Logging, Log4j y JdkLog. Puede seleccionar el LogFilter correspondiente según sea necesario para monitorear el acceso a la base de datos de su aplicación.

            5. Amplíe JDBC: si tiene requisitos de programación para la capa JDBC, puede utilizar el mecanismo de filtro proporcionado por Druid para escribir fácilmente complementos de extensión para la capa JDBC.

      Entonces el druida puede:

            1. Actuar como un grupo de conexiones de base de datos.
            2. Puede monitorear el rendimiento del acceso a la base de datos
            3. Obtener registros de ejecución de SQL

P.ej:

      1. Crea una tabla de base de datos

      2. Cree un proyecto java e importe el paquete jar [druid-1.1.10.jar]

      3. Cree un archivo de configuración de conexión a la base de datos en src [xxxxxxxx.properties]

            driverClassName = com.mysql.jdbc.Driver

            url = jdbc: mysql: //127.0.0.1: 3306 / test? useUnicode = true & characterEncoding = UTF-8

            nombre de usuario = root

            contraseña = 123456

            initialSize = 100

            maxActive = 300

            maxWait = 60000

Configuración detallada de druida

https://blog.csdn.net/zhangjinwei417/article/details/92823438

      4. Cree javabean [igual que el anterior]

      5. Cree una clase de acceso a la base de datos

package com.wangxing.jdbcdruid.dao;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import javax.sql.DataSource;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.wangxing.jdbcdruid.bean.UserBean;

/**
 * 用户信息的访问类
 * 
 * @author Administrator
 *
 */
public class UserBeanDaoClass {

	// 定义保存druid数据源对象
	private DataSource dataSource = null;

	public UserBeanDaoClass() {
		try {
			Properties pro=new Properties();
                        //getResourceAsStream("该参数名称应与上面配置文件名相同,后缀不能改动")
    			InputStream inStream=this.getClass().getResourceAsStream("/mydata.properties");
			pro.load(inStream);
			dataSource=DruidDataSourceFactory.createDataSource(pro);
			}catch(Exception e) {
				e.printStackTrace();
		        }
	}
	// 添加用户信息
	public void insertUser(UserBean userBean) {
		Connection conn = null;
		PreparedStatement statement = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建添加数据的sql语句
			String insert = "insert into t_user values(null,?,?,?);";
			System.out.println(insert);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(insert);
			// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
			statement.setString(1, userBean.getUname());
			statement.setInt(2, userBean.getUage());
			statement.setString(3, userBean.getUaddress());
			// 执行添加sql
			int temp = statement.executeUpdate();
			if (temp > 0) {
				System.out.println("添加信息成功");
			}
		} catch (Exception e) {
			System.out.println("添加信息失败");
			e.printStackTrace();
		} finally {
			if (statement != null && conn != null) {
				try {
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}

	// 根据用户id修改用户信息
	public void updateUser(UserBean userBean) {
		Connection conn = null;
		PreparedStatement statement = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建修改数据的sql语句
			String update = "update t_user set u_name=?,u_age=?,u_address=? where u_id=?;";
			System.out.println(update);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(update);
			// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
			statement.setString(1, userBean.getUname());
			statement.setInt(2, userBean.getUage());
			statement.setString(3, userBean.getUaddress());
			statement.setInt(4, userBean.getUid());
			// 执行修改sql
			int temp = statement.executeUpdate();
			if (temp > 0) {
				System.out.println("修改信息成功");
			}
		} catch (Exception e) {
			System.out.println("修改信息失败");
			e.printStackTrace();
		} finally {
			if (statement != null && conn != null) {
				try {
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}

	// 根据用户id查询用户信息
	public UserBean selectUserById(int userid) {
		UserBean userbean = null;
		Connection conn = null;
		PreparedStatement statement = null;
		ResultSet resultSet = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建根据用户id查询用户信息sql语句
			String select = "select * from t_user where u_id=?;";
			System.out.println(select);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(select);
			statement.setInt(1, userid);
			// 执行查询sql
			resultSet = statement.executeQuery();
			if (resultSet.next()) {
				int id = resultSet.getInt("u_id");
				String name = resultSet.getString("u_name");
				int age = resultSet.getInt("u_age");
				String address = resultSet.getString("u_address");
				userbean = new UserBean();
				userbean.setUid(id);
				userbean.setUname(name);
				userbean.setUage(age);
				userbean.setUaddress(address);
			}
		} catch (Exception e) {
			System.out.println("查询信息失败");
			e.printStackTrace();
		} finally {
			if (resultSet != null && statement != null && conn != null) {
				try {
					resultSet.close();
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		return userbean;
	}

	// 查询所有用户信息
	public List<UserBean> selectUser() {
		List<UserBean> userlist = new ArrayList<UserBean>();
		Connection conn = null;
		PreparedStatement statement = null;
		ResultSet resultSet = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建查询所有用户信息sql语句
			String select = "select * from t_user;";
			System.out.println(select);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(select);
			// 执行查询sql
			resultSet = statement.executeQuery();
			while (resultSet.next()) {
				int id = resultSet.getInt("u_id");
				String name = resultSet.getString("u_name");
				int age = resultSet.getInt("u_age");
				String address = resultSet.getString("u_address");
				UserBean userbean = new UserBean();
				userbean.setUid(id);
				userbean.setUname(name);
				userbean.setUage(age);
				userbean.setUaddress(address);
				userlist.add(userbean);
			}
		} catch (Exception e) {
			System.out.println("查询信息失败");
			e.printStackTrace();
		} finally {
			if (resultSet != null && statement != null && conn != null) {
				try {
					resultSet.close();
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		return userlist;
	}

	// 根据id删除用户信息
	public void deleteUserById(int userid) {
		Connection conn = null;
		PreparedStatement statement = null;
		try {
			// 得到数据库连接
			conn = dataSource.getConnection();
			// 创建删除数据的sql语句
			String delete = "delete from t_user where u_id=?;";
			System.out.println(delete);
			// 创建PreparedStatement对象
			statement = conn.prepareStatement(delete);
			statement.setInt(1, userid);
			// 执行删除sql
			int temp = statement.executeUpdate();
			if (temp > 0) {
				System.out.println("删除信息成功");
			}
		} catch (Exception e) {
			System.out.println("删除信息失败");
			e.printStackTrace();
		} finally {
			if (statement != null && conn != null) {
				try {
					statement.close();
					conn.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
}

      prueba

package com.wangxing.jdbcdruid.test;

import com.wangxing.jdbcdruid.dao.UserBeanDaoClass;

public class TestMain {

	public static void main(String[] args) {
		 //测试删除数据 
		 UserBeanDaoClass userDao=new UserBeanDaoClass(); 
		 userDao.deleteUserById(3);
	}

}

 

 

 

Supongo que te gusta

Origin blog.csdn.net/m0_49935332/article/details/114281867
Recomendado
Clasificación