发表于: 2018-10-19 23:57:19

1 474


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin) 

通过看原型图和需求讲解


参考了其他师兄的表格设计  

理清需求:

user存放用户信息。art表主要用于存放作品信息,second是二级作品集用于管理作品,first是一级作品集,用于管理二级作品集。banner用于导航栏管理,workroom用于工作室管理。comment用于留言管理,reply用于对回复的留言进行管理。

其中一级作品列表和二级作品集是 一对多的关系。二级作品表和作品是一对多的关系。

设计DB

一级作品集


二级作品集

准备了小课堂的知识点

JDBC和JDBC template

1、JDBC是什么?

JDBC(JAVA DataBase Connection)即JAVA数据库连接技术,JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据。 

JDBC库中所包含的API通常与数据库使用于:

连接到数据库

创建SQL语句

在数据库中执行SQL查询

查看和修改数据库中的数据记录

2、数据库驱动与常用接口

JDBC API使用数据库驱动连接操作数据库,其实也就是数据库厂商的JDBC接口实现,即对Connection等接口的实现类的jar文件。 

我使用的是MySql数据库,所以使用MySql提供的数据库驱动包mysql-connector-java-5.1.40-bin.jar。 

驱动包一般会提供很多操作数据库的接口,常用的有:

Driver接口:在编程中要连接数据库,必须先装载特定厂商的数据库驱动程序,不同的数据库有不同的装载方法,MySql驱动装载方法为:Class.forName(“com.mysql.jdbc.Driver”);

Connection接口:Connection与特定数据库的连接(会话),在连接上下文中执行sql语句并返回结果。DriverManager.getConnection(url, user, password)方法可以获取相应的数据库连接。MySql数据库连接获取方法为:Connection conn = DriverManager.getConnection(“jdbc:mysql://host:port/database”, “user”, “password”)。该接口包含了几个常用的方法: 

1、createStatement():创建向数据库发送sql语句的statement对象; 

2、prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象; 

3、setAutoCommit(boolean):设置数据库事务是否自动提交; 

4、commit():提交事务; 

5、rollback():事务回滚。

Statement接口:用于执行静态SQL语句并返回它所生成结果的对象。一般有三种Statement对象: 

1、Statement:由createStatement创建,用于发送简单的SQL语句(不带参数); 

2、PreparedStatement :继承自Statement接口,由preparedStatement创建,用于发送含有一个或多个参数的SQL语句。PreparedStatement对象比Statement对象的效率更高,并且可以防止SQL注入,所以我们一般都使用PreparedStatement; 

3、CallableStatement:继承自PreparedStatement接口,由方法prepareCall创建,用于调用存储过程。 

以下是几个常用的Statement方法: 

1、execute(String sql):运行语句,返回是否有结果集; 

2、executeQuery(String sql):运行select语句,返回ResultSet结果集; 

3、executeUpdate(String sql):运行insert/update/delete操作,返回更新的行数; 

4、addBatch(String sql) :把多条sql语句放到一个批处理中; 

5、executeBatch():向数据库发送一批sql语句执行。

ResultSet接口:ResultSet提供检索不同类型字段的方法,常用的有: 

1、getString(int index)、getString(String columnName):获得在数据库里是varchar、char等类型的数据对象; 

2、getFloat(int index)、getFloat(String columnName):获得在数据库里是Float类型的数据对象; 

3、getDate(int index)、getDate(String columnName):获得在数据库里是Date类型的数据; 

4、getBoolean(int index)、getBoolean(String columnName):获得在数据库里是Boolean类型的数据; 

5、getObject(int index)、getObject(String columnName):获取在数据库里任意类型的数据。 

相比于以上方法,ResultSet接口提供了更常用的对于结果集的处理方法: 

1、next():移动到下一行; 

2、Previous():移动到前一行; 

3、absolute(int row):移动到指定行; 

4、beforeFirst():移动resultSet的最前面; 

5、afterLast() :移动到resultSet的最后面。

3、JDBC使用步骤

JDBC标准流程为:加载JDBC驱动程序→建立数据库连接Connection→创建执行SQL的语句Statement→处理执行结果ResultSet→释放资源,



JdbcTemplate操作数据库

pring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。同时,为了支持对properties文件的支持,spring提供了类似于EL表达式的方式,把dataSource.properties的文件参数引入到参数配置之中

  JdbcTemplate主要提供以下五类方法:

  • execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
  • update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
  • query方法及queryForXXX方法:用于执行查询相关语句;
  • call方法:用于执行存储过程、函数相关语句。

JdbcTemplate类支持的回调类:

  • 预编译语句及存储过程创建回调:用于根据JdbcTemplate提供的连接创建相应的语句;

         PreparedStatementCreator:通过回调获取JdbcTemplate提供的Connection,由用户使用该Conncetion创建相关的PreparedStatement;

         CallableStatementCreator:通过回调获取JdbcTemplate提供的Connection,由用户使用该Conncetion创建相关的CallableStatement;

  • 结果集处理回调:通过回调处理ResultSet或将ResultSet转换为需要的形式;

         RowMapper:用于将结果集每行数据转换为需要的类型,用户需实现方法mapRow(ResultSet rs, int rowNum)来完成将每行数据转换为相应的类型。



明天计划的事情:

完成DB剩余表格设计

完成接口文档的编写





返回列表 返回列表
评论

    分享到