1、DBUtils
package com.oracle.tools; import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; public class Dbutils { public static final String DRIVER = "com.mysql.jdbc.Driver"; public static final String URL = "jdbc:mysql://localhost:3306/Store_v1.0?characterEncoding=utf-8"; public static final String USERNAME = "root"; public static final String PASSWORD = "123"; /* * 创建连接池BasicDataSource */ public static BasicDataSource dataSource = new BasicDataSource(); //静态代码块 static { //对连接池对象 进行基本的配置 dataSource.setDriverClassName(DRIVER); // 这是要连接的数据库的驱动 dataSource.setUrl(URL); //指定要连接的数据库地址 dataSource.setUsername(USERNAME); //指定要连接数据的用户名 dataSource.setPassword(PASSWORD); //指定要连接数据的密码 } /* * 返回连接池对象 */ public static DataSource getDataSource(){ return dataSource; } public static Connection getConn() throws SQLException{ return dataSource.getConnection(); } }
(1)添加、更新、删除:QueryRunner qr = new QueryRunner();
qr.update(Connection conn, String sql, Object... params);
(2)查询:query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)
1)将结果集第一行封装成Object[]:qr.query(conn,sql,new ArrayHandler(),params);
2)将结果集中的每一条记录先封装到Object[],再把这些Object[]封装到List集合;
qr.query(conn, sql, new ArrayListHandler(),params);
3)将结果集的每一条记录封装到指定的javaBean中[注:javaBean实质是实体类]
qr.query(conn, sql,new BeanHandler<User>(User.class),params);
4)将结果集中的每一条记录封装到指定的javaBean中,然后将这些javaBean 封装到 List集合中;
qr.query(conn, sql,new BeanListHandler<User>(User.class),params);
5)将结果集中指定列的值封装成一个List集合
qr.query(conn, sql, new ColumnListHandler<String>(),params);
6)查询单数据
qr.query(conn, sql,new ScalarHandler<Long>(),params);[注:select count(*) from 表操作]
[注:返回值是Long类型][注:int i = count.intValue();Long ==》int]
2、JavaEE
(1)jsp+javaEE:随着业务复杂性 导致jsp页面比较混乱;
(2)jsp+Servlet+javaBean:servlet[处理java业务代码] jsp[擅长页面的实现]
(3)MVC:web开发的设计模式
M:Model javaBean;V: View jsp;C:Controller Servlet;
(4)javaEE的三层架构:web层 客户端;service层 业务处理;dao层 数据库;分包;
(5)javaEE的开发设计模式在MVC的体现在web层:M-domain;V-jsp;C-Servlet;