发表于: 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类比较难理解,咨询了师兄才模模糊糊懂了一点

明天计划的事情

    希望明天来电...啥都好说

最后,麻烦师兄审核


返回列表 返回列表
评论

    分享到