数据库操作
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
执行存储过程、函数语句。