《partner4java 讲述 p4jorm》之第二步:jdbc的使用(一)

2014-11-24 11:33:05 · 作者: · 浏览: 20
传统JDBC:当您进行增删改查时是不是拼写SQL到都想吐了?好不容易拼写完,想获取结果,还要再遍历封装,遇到一个字段上百的遗留表简直就疯了。
p4jorm:当使用p4jorm时,普通的CURD,也就是占据我们大部分工作的CURD就不需要再书写(真的是一行都不用写);当前端查询时我们只需要把相应数据放入formbean就可以了(如果你使用struts之类的框架formbean数据封装工作也不需要自己完成);你再多的字段也不用担心;更不会再因为忘了关闭 数据库连接而被老大k了。
下面进入我们三十分钟学习时间:
(以MySQL数据库进行展示,目前也只支持了MySQL,如需要支持其他数据库,请邮件告知,会尽量添加)
首先创建一个web项目,如果你使用maven的话,请把压缩包的maven目录放入你本机(因为没有发布到公服),且加入maven依赖
[java]
partner4java
p4jorm
1.0.0
org.hibernate
hibernate-core
[html]
如果没有使用maven,本架构的jar为p4jorm-1.0.0.jar,还需要依赖其他jar,你直接考入helloworld项目所有jar(p4jorm_jdbc_test\WebRoot\WEB-INF\lib)即可。
第一步:创建表
就和你平时一样创建表就ok了。
我们这里简单创建了一个user表
[sql]
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
`address` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
第二步:创建表对应的实体
换句话说,创建表数据的携带对象,这个也是我们平时所需要的。(你从数据库中取出了数据总要有地方存吧,总不能放到Map里吧?亲,我们可是面向对象啊)
[java]
public class User implements Serializable {
private static final long serialVersionUID = -8804762279661495240L;
private int id;
private String username;
private String password;
private String address;
...
你也可以借助工具通过已创建的表,自动生成实体,详细查看文章
http://blog.csdn.net/partner4java/article/details/8560289
(我们这里是不需要JPA之类的注解,生成后,你需要删除)
第三步:添加实体注解
因为我需要对实体进行识别分析,这里您一般只需要添加两个注解
P4jEntity标注于类上、P4jId标注于对应的主键字段上
(具体注解详解,请参照附件文档doc/index.html,后面我们就不再说“请参照文档”之类的客套话,有不明白的,你第一时间就去找文档即可,文档中若解释不清晰,请邮件我)
[java]
@P4jEntity
public class User implements Serializable {
private static final long serialVersionUID = -8804762279661495240L;
@P4jId
private int id;
private String username;
private String password;
private String address;
我们说过p4jorm只需要两个注解就齐活了,也就是说现在你就可以对user表进行增删改查操作了。
第四步:整理测试环境书写测试用例
环境:
我们在第一步文章中提到过,p4jorm目前版本需要借助spring,如果对spring ioc不是很熟悉的同学,可参照文章
http://blog.csdn.net/partner4java/article/details/8194747
若当前spring并不在你的学习范围内,也不用担心,你只需要把我提供的配置文件拷入相应的目录即可
p4jorm_jdbc_test\src\main\resources中有三个文件:
datasource-c3p0.xml、beans.xml
jdbc-c3p0.properties:你只需要关心这个,这里配置了你的数据库连接信息
(由于我们这里使用了c3p0,那么相应的jar也需要加入)
单元测试:
我们目前使用第一个工具类 -- P4jJdbcDaoTemplate
[java]
public class UserTest {
private P4jJdbcDaoTemplate daoTemplate;
// setUp方法其实就是为我们创建了一个P4jJdbcDaoTemplate,具体参照文档中P4jJdbcDaoTemplate说明
@Before
public void setUp() throws Exception {
// 这里为spring的容器创建
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/META-INF/spring/beans.xml");
// 创建了daoTemplate,并传入了namedParameterJdbcTemplate
daoTemplate = new P4jJdbcDaoTemplate(applicationContext.getBean("namedParameterJdbcTemplate",
NamedParameterJdbcTemplate.class));
}
// 我们进行第一个保存测试
@Test
public void testSave() {
for (int i = 0; i < 1000; i++) {
// 创建一个u