发表于: 2017-12-19 17:51:57
3 598
今天完成的事情
1.学习JdbcTemplate的crud方法
在Template中,crud的方法较之前jdbc有所不同:增删改都用update,查询用query
(1) 新增数据:
public void create(String name, Integer age) {
String SQL = "insert into Student (name, age) values (?, ?)";
jdbcTemplateObject.update( SQL, name, age);
System.out.println("Created Record Name = " + name + " Age = " + age);
return;
}
在上面示例中,先定义了sql语句,然后用Template的实例对象调用了template的update方法完成新增数据,最后输出结果
(2)删除数据:
public void delete(Integer id){
String SQL = "delete from Student where id = ?";
jdbcTemplateObject.update(SQL, id);
System.out.println("Deleted Record with ID = " + id );
return;
}
删除数据也是用的update
(3)查询数据
public Student getStudent(Integer id) {
String SQL = "select * from Student where id = ?";
Student student = jdbcTemplateObject.queryForObject(SQL,
new Object[]{id}, new StudentMapper());
return student;
}
查询的时候用的query,但是这里为什么用了queryForObject,根本不清楚,希望师兄解答一下....
2.学习下表究竟是干啥的
package com.spring;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;
public class StudentMapper implements RowMapper<Student> {
public Student mapRow(ResultSet rs, int rowNum) throws SQLException {
Student student = new Student();
student.setId(rs.getInt("id"));
student.setName(rs.getString("name"));
student.setAge(rs.getInt("age"));
return student;
}
}
在这里借鉴了师兄的日报
sping中的RowMapper可以将数据中的每一行数据封装成用户定义的类。可以通过建立内部类实现RowMapper接口,RowMapper中有一个mapRow方法,所以实现RowMapper接口一定要实现mapRow方法,而对自定义类的包装就在mapRow方法中实现。
简单来说,用RowMapper来打印列表。
但是在后来我问师兄的时候,觉得这个像是一个中转站,把结果集传送到实体类,没有在xml文件中配置mapper,就一定要有这个类
3.理解xml文件的配置
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/spring"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean>
<!-- Definition for studentJDBCTemplate bean -->
<bean id="studentJDBCTemplate"
class="com.spring.StudentJDBCTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
把数据库的连接做成了一个bean容器,第二个bean容器就是实现了把datasource注入到了jdbctemplate中,用ref,由此完成数据库的连接和template的使用
3.家里没电,先在公司写了,回家看head first java
今天的收获
勉强算术学会了jdbctemplate吧...
今天遇到的问题
mapper类比较难理解,咨询了师兄才模模糊糊懂了一点
明天计划的事情
希望明天来电...啥都好说
最后,麻烦师兄审核
评论