题意:
1、首先根据题意,肯定得去创建表(这里使用的是Oracle数据库),建表语句为(表太多了,这里随便取一个t-test1,不要在意细节,( ╯□╰ )):
-- 创建测试表格
create table t_test1(
tno number(4),
tname varchar2(3),
hiredate date,
grade number(3),
gender varchar2(3),
constraints pk_test primary key (tno),
constraints un_test_tname unique (tname),
constraints ck_test_grade check (grade between 0 and 200),
constraints ck_test_gender check (gender in ('男','女'))
);
2、根据题意ID是主键,并且自增,所以Oracle中创建一个序列,用于让主键自增
-- 创建测试序列为主键使用,从1000开始
create sequence seq_test start with 1000;
3、没话说,分层开发,不然项目太乱了,分为如下:
这里lib是存放需要的jar包的,复制进来不要忘记右键Build path→add path
这里的包分别的作用:
1、)pojo是实体类的包,用于存放ORM (objcet relational mapping)对象关系映射,关系型数据库中的表对应Java中的一个类,这里是User类
2、)dao包是存放访问数据库的接口的
3、)dao.impl是存放访问数据库的接口实现类的
对了,这里的BaseDao类是我们抽取出来的类,因为增删改查代码基本上好多地方都用,为了减少代码的重复性,提取出来作为父类,子类只要继承自它,就可以有增删改查的功能了。
4、)util包是存放工具类的
DBUtil是封装了连接数据库,获取PreparStatement,关闭资源的工具类
DataList类是用来生成题目中说的注册时间均匀分布在2018年各个月份。从26个字母中随机取3个字母作为昵称,昵称不能一样的
5、)test包是存放测试类
6、)view包是存放视图的,本来应该是HTML,JSP代码,这里 使用java类代替测试
7、)
db.properties是用来存放连接数据库的信息的,dirver、url、user、password
然后DBUtil类中,通过Properties类就可以加载之后获取属性,反射创建对象
4、基本的业务逻辑就是通过DBUtil创建连接,得到发送器,执行sql.......难是不难,比较繁琐,
测试代码如下:
下面的不测试了,附上源码:
JDBC练习题pan.baidu.com提取码:xkck