一、jdbcTemplate
- 介绍:JdbcTemplate就是Spring对JDBC的封装,目的是使JDBC更加易于使用。
- 使用:
- 导入jar包
c3p0-0.9.2-pre5.jar C3P0连接池
commons-logging-1.2.jar 日志记录
mchange-commons-java-0.2.3.jar C3P0连接池
mysql-connector-java-5.1.37-bin.jar mysql驱动
spring-beans-5.0.0.RELEASE.jar JavaBean管理包
spring-core-5.0.0.RELEASE.jar 核心包
spring-jdbc-5.0.0.RELEASE.jar JDBC支持包
spring-tx-5.0.0.RELEASE.jar 事务支持包 - 创建jdbcTemplate对象:JdbcTemplate jt=new JdbcTemplate(DataSource dataSource);
- 调用execute()、update()、queryXxx()等方法
- 导入jar包
- 查询:
- 查询一条数据:
a. 封装成Map:jdbcTemplate.queryForMap(String sql,Object…params);
b.封装成JavaBean对象:jdbcTemplate.queryForObject(String sql, new BeanPropertyRowMapper<>(类名.class),Object…params);
c.统计数量:jdbcTemplate.queryForObject(String sql,Long.class,Object…params) - 查询多条数据:
a.封装成List<JavaBean对象> list:jdbcTemplate.query(String sql,new BeanPropertyRowMapper<>(类名.class),Object…params);
b.封装成List<Map>list:jdbcTemplate.queryForList(Stirng sql,Object…params)
二、元数据
-
元数据(MetaData):即定义数据的数据。简单来说就是数据库、表、列的定义信息
-
ParameterMetaData:可以用于获取有管PreparedStatement对象和器预编译sql语句,例:参数个数,获取指定位置占位符的SQL类型
获取parameterMetaData对象:ParameterMetaData parameterMetaData=preparedStatement.getParameterMetaData();
API:
- int getParameterCount();//获得参数个数
- int getParameterType(int param); //获取指定参数的SQL类型。(MYSQL不支持获取参数类型)
-
ResultSetMetaData:可用于获取有关ResultSet对象中列的类型和属性的信息
获取resultSetMetaData对象:ResultSetMetaData resultSetMetaData=new resultSet.getMetaData();
API:- getColumnCount();//获取结果集中项目的个数。
- getColumnName(int column);//获得数据指定列的列名
- getColumnTypeName();//获取指定列的SQL类型
- getColumnClassName(); //获取指定列SQL类型对应于Java的类型.
三、三层体系架构
- 结构:
-
表现层 : 又称为 web层
-
业务层: 又称为业务逻辑层 或 service层
-
持久层 : 又称为数据访问成 或 dao层 ( data access object )。
- 意义:
- 解耦:降低层与层之间的耦合性
- 可维护性:提高软件的可维护性,对现有的功能进行修改和更新是不会影响原有的功能
- 可扩展性:提升软件的可扩展性,添加新的功能的时候不会影响到现有的功能
- 可重复性:不同层之间进行功能调用时,相同的功能可以重复使用。