JDBC采用DAO和Entity层完成增删改查"/>
JDBC采用DAO和Entity层完成增删改查
数据库要求:
列名 | 类型 | 说明 | 列名 |
---|---|---|---|
user_id | 整数、主键 | 用户编号 | user_id |
user_name | 字符串,唯一,非空 | 用户名称 | user_name |
user_pwd | 字符串,非空 | 用户密码 | user_pwd |
user_borndate | DATE | 出生日期 | user_borndate |
user_email | 字符串,非空 | 邮箱 | user_email |
user_address | 字符串 | 地址 | user_address |
项目要求:
采用DAO+Entity分层完成五个功能:增、删、改、查、查所有用户信息
并作出测试!
注意: sql.Date和java.util.Date之间的转换,要求写成工具类!
知识科普:
DAO(Data Access Object) 是一个数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。
实体类(entity) 是一行数据中,多个零散的数据进行整理,通过entity的规则对表中的数据进行对象的封装,表名=类名;列名=属性名;提供各个属性的get、set方法,提供无参构造方法、(视情况添加有参构造)
数据库SQL命令:
create table users
(user_id int primary key ,user_name varchar(20) unique not null ,user_pwd varchar(20) not null ,user_borndate date ,user_email varchar(20) not null ,user_address varchar(50)
) character set utf8;
properties文件:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/account?useUnicode=true&characterEncoding=utf8
username=root
password=123456
数据库连接工具类:
import java.sql.*;/*** 数据库工具类* 1.提供连接--Connection* 2.提供统一资源关闭* 可复用性方案*/
public class DBUtils {static {try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}}/*** 硬编码* 获取连接对象*/public static Connection getConnection() {Connection connection = null;try {connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/temp?useUnicode=true&characterEncoding=utf8", "root", "123456");} catch (SQLException e) {e.printStackTrace();}return connection;}/*** 释放资源*/public static void closeAll(Connection connection, Statement statement, ResultSet resultSet) {try {if (resultSet != null) {resultSet.close();}if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (SQLException e) {e.printStackTrace();}}
}
日期转换工具类
import java.text.ParseException;
import java.text.SimpleDateFormat;/*** 日期转换** 字符串转换为UtilDate* 字符串转换为SqlDate* UtilDate转换为SqlDate* 注意:SqlDate转换为UtilDate是不可以的,因为UtilDate是SqlDate的父类*/
public class DateUtils {private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");/*** 字符串转换为UtilDate*/public static java.util.Date strToUtilDate(String string) {try {return SIMPLE_DATE_FORMAT.parse(string);} catch (ParseException e) {e.printStackTrace();}return null;}/*** 字符串转换为SqlDate*/public static java.sql.Date strToSqlDate(String string) {try {java.util.Date date = SIMPLE_DATE_FORMAT.parse
更多推荐
JDBC采用DAO和Entity层完成增删改查
发布评论