数据库操作

1.表操作

1.1. Navicat 创建表

  id 选择“主键”和下面的“自动递增”

2. 语句

2.1. 查询

  select * from table

2.2. 插入

  insert into table (字段1, 字段2) values(值1, 值2 )

2.3. 删除

  delete from table where 字段=

2.4. 更新

  update table set 字段= where 字段1=

3. Java 调用数据库

3.1. jdbc数据源连接池包

3.1.1. 下载

  mysql-connector-java-5.1.26-bin.jar ,这是一个旧的版本。

  http://dev.mysql.com/downloads/connector/j/ 可以下载最新版本,但是找指定版本比较费劲。

  同时还要数据源的实现类包commons.dbcp.jar 及其依赖包连接池包commons-pool.jar。

3.1.2. 导入包

  首先,导入到 WEB-INF > lib ,这里的作用是工程中spring.servlet.xml里面可以用到包里的功能。但是代码里面不能用。所有,要想代码里面使用包里的接口,需要在“右击工程 > properties >Java Build Path > Libraries > Add JARs  ,把刚才的三个包添加进来。

3.1.3. 配置DBCP数据源

  在spring-servlet.xml里面加入:

<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/myweb" />
    <property name="username" value="root" />
    <property name="password" value="123" />
</bean>
   

  上面的配置就等于在代码中写入:

org.apache.commons.dbcp.BasicDataSource myDataSource = new org.apache.commons.dbcp.BasicDataSource();

myDataSource.setDriverClassName("com.mysql.jdbc.Driver");
myDataSource.setUrl("jdbc:mysql://localhost:3306/myweb");
myDataSource.setUserName("root");
myDataSource.setPassword("123");

3.2. 需要导入jdbc(执行sql的api)

3.2.1. 代码导入包

import java.sql.Connection
import java.sql.DriverManager

3.3. jdbc template

3.3.1. 概念理解

3.3.1.1.  jdbc模板方式

  • 用于简化JDBC编程
  • 实现GOF模式。
  • 分离可变与不可变。可变部分采用回调。
  • 如:JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate。

  同 3.1.3 在spring-servlet.xml中依赖注入JdbcTemplate

 <bean id="jb" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="myDataSource" />
 </bean>

  解释:<property name="dataSource" ref="myDataSource" /> ,指该模板的数据源属性是 3.1.3 定义的myDataSource。

3.3.1.2. 对象化

  数据库对象编程,使用类封装,如:MappingSqlQuery、SqlUpdate、SqlCall、SqlFunction、StoredProcedure等类。

3.3.1.3. SimpleJdbc方式

  简化编程,如插入SimpleJdbcInsert、SimpleJdbcCall用来简化插入、存储过程或函数访问。

3.3.2. 示例

在类的里面:

@Autowired//自动装配
JdbcTemplate jb;//声明jdbctemplate变量

public void doFun()
{

  jb.queryForList("select * from table");

}
  •  @Autowired是把刚刚在spring-servlet.xml里面配置的bean引用进来。
  • JdbcTemplate jb;"jb"必须和spring-servlet.xml里面的名称一样,这样才能匹配并”自动装配“。

3.3.3. 错误

   Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

  没有导入jar包:mysql-connector-java-5.1.26-bin.jar

4. 方法

4.1. execute

  执行任何SQL语句

4.2. update batchUpdate

  update 用于 新增、修改、删除。

  batchUpdate 用于执行批处理相关语句。

4.3. query queryForXXX

  执行查询。

4.4. call

  执行存储过程、函数语句。

原文地址:https://www.cnblogs.com/SimonGao/p/4966120.html