发表于: 2017-10-16 20:12:35

1 846


今日完成:

           1)昨天太偷懒,先补上昨天日报内容

             Jdbc版本的增删改查

                 

           其中,使用的c3p0连接池,连接池工具单独写在一个类中

           

private  static ComboPooledDataSource comboPooledDataSource=new ComboPooledDataSource();

//获取连接
public static Connection getConnection(){
try {
return comboPooledDataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;

}

//关闭连接,包括PreparedStatement与ResultSet

public  static  void closeConnection(Connection connection, PreparedStatement pre, ResultSet resultSet){
if (resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (null!=pre){
try {
pre.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection!=null){
try {
pre.close();
} catch (SQLException e) {
e.printStackTrace();
}

}

    用于连接的打开与关闭

         c3p配置文件信息:

              

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/itschool</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>

       <property name="password">123</property>

//如果连接不够,每次申请的连接个数

<property name="acquireIncrement">3</property>

//初始连接池容量大小

       <property name="initialPoolSize">5</property>

//连接池拥有的最小的容量

       <property name="minPoolSize">2</property>

//连接池拥有的最大的容量

<property name="maxPoolSize">8</property>
</default-config>
</c3p0-config>

                  相关测试

                         ->增加:

                    

                   输出结果返回增加的ID

                  

                      ->修改

                       

                     输出结果为boolean(是否更新成功)

                      

                     

                     更新成功,数据库中也显示出来

                      ->查询

                      

                     根据ID查询内容,我输出名字

                     

                       ->删除

                        

                      数据结果:

                       

            2)将项目打成war包发布到tomcat

                      

               三个项目都放到tomcat的webapps下面

               访问(由于没有制作表现层,只能访问单独的页面)

                

               

              

             3)进行性能测试,

long begin=System.nanoTime();
for (int i=0;i<1000;i++) {

User user = new User();

//作用是生成不同的名字

user.setName("大多"+i);
user.setQq("123456789");
user.setDaily_url("www.baidu.com");
user.setSource("知乎");
user.setSenior("甘乐");
user.setSchool("LCU");
user.setFlag("老大最棒");
user.setLearn_type("java");
user.setCreate_at(System.currentTimeMillis());
user.setUpdate_at(System.currentTimeMillis());
Long id = userService.add(user);

}
long end = System.nanoTime() - begin;
System.out.println(end);

在无索引的情况下,如果插入数据1000条,花费时间如下

           

在名字上建立索引,为了更好的显示,让名字不同,插入数据,

       

 效果差距很大,所以,在建立索引的时候一定要考虑清楚,对于插入较频繁的查找少的,不要建立索引

 今日问题:

            将多个web项目发布的时候,tomcat的日志文件出现如下错误:

           

       大体意思就是'webapp.root' 这个配置名称已经被使用了,每一个web项目都有一个webAppRootKey,默认名称就是webapp.root,当一个web容器中发布多个webapp时候,可能就会出现这样的问题。解决方法就是在web.xml配置文件下添加自定义的webAppRootKey。

<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.JdbcTemplate</param-value>
</context-param>

明日任务:

            希望开始任务二,fighting!!!


返回列表 返回列表
评论

    分享到