当前位置:编程学习 > JAVA >>

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

传统JDBC:当您进行增删改查时是不是拼写SQL到都想吐了?好不容易拼写完,想获取结果,还要再遍历封装,遇到一个字段上百的遗留表简直就疯了。
 
p4jorm:当使用p4jorm时,普通的CURD,也就是占据我们大部分工作的CURD就不需要再书写(真的是一行都不用写);当前端查询时我们只需要把相应数据放入formbean就可以了(如果你使用struts之类的框架formbean数据封装工作也不需要自己完成);你再多的字段也不用担心;更不会再因为忘了关闭数据库连接而被老大k了。
 
下面进入我们三十分钟学习时间:
 
(以MySQL数据库进行展示,目前也只支持了MySQL,如需要支持其他数据库,请邮件告知,会尽量添加)
 
首先创建一个web项目,如果你使用maven的话,请把压缩包的maven目录放入你本机(因为没有发布到公服),且加入maven依赖
 
 
[java] 
<dependency>  
    <groupId>partner4java</groupId>  
    <artifactId>p4jorm</artifactId>  
    <version>1.0.0</version>  
    <exclusions>  
        <exclusion>  
            <groupId>org.hibernate</groupId>  
            <artifactId>hibernate-core</artifactId>  
        </exclusion>  
    </exclusions>  
</dependency>  
[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++) {  
            // 创建一个user实体,往里赛数据  
            User user = new User();  
            user.setPassword("123456" + i);  
            user.setUsername("partner4java" + i);  
            user.setAddress("partner4java@163.com");  
  
            // 我们就只需要这一句话就可以保存user进数据库了  
            daoTemplate.save(user);  
        }  
    }  
  
}  
一千条保存,当你看到数据表中新增的数据,是否心里暗暗欢喜
[java] 
// 更新的数据,需要说明一点的是,我们只会更新指定id的数据,且不更新值为null的数据,你可以置空字符  
@Test  
public void testUpdate() {  
    User user = new User();  
    user.setPassword("");  
    user.setUsername("world");  
  
    // 设置id,表示需要更新的数据  
    user.setId(1);  
  
    daoTemplate.update(user);  
}  
  
@Test  
p
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,