发表于: 2017-09-14 00:38:49

1 827


今天完成的事
使用jdbctemplate实现修改和删除
public void update(){
DriverManagerDataSource dateSource = new DriverManagerDataSource();
dateSource.setDriverClassName("com.mysql.jdbc.Driver");
dateSource.setUrl("jdbc:mysql:///test");
dateSource.setUsername("root");
dateSource.setPassword("ab123456");
JdbcTemplate jdbcTemplate = new JdbcTemplate(dateSource);
String sql = "update user set age=? where name=?";
int rows =jdbcTemplate.update(sql,"18","lucy");
System.out.println(rows);
}
结果对比
使用jdbcTemplate实现查询
实现查询有接口RowMapper,jdbcTemplate针对这个接口没有提供实现类,得到不同的类型数据需要自己进行数据封装
查询返回某一个值
public void testCount() {
DriverManagerDataSource dateSource = new DriverManagerDataSource();
dateSource.setDriverClassName("com.mysql.jdbc.Driver");
dateSource.setUrl("jdbc:mysql:///test");
dateSource.setUsername("root");
dateSource.setPassword("ab123456");
JdbcTemplate jdbcTemplate = new JdbcTemplate(dateSource);
String sql="select count(*) from user";
// 第一个参数是sql语句,第二个参数是返回类型的class
int count=jdbcTemplate.queryForObject(sql,Integer.class);
System.out.println(count);
}
结果输出
使用未封装的jdbc实现
public void testJDBC(){
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
// 加载数据库驱动
try {
Class.forName("com.mysql.jdbc.Driver");
// 创建连接
try {
conn =DriverManager.getConnection("jdbc:mysql:///test","root","ab123456");
String sql = "select * from user where name=?";
psmt = conn.prepareStatement(sql);
psmt.setString(1,"lucy");
rs = psmt.executeQuery();
while(rs.next()){
String name = rs.getString("name");
String age = rs.getString("age");
User user = new User();
user.setName(name);
user.setAge(age);
System.out.println(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally {
try {
rs.close();
psmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
相比已经封装好的JdbcTemplate复杂程度和代码数量多了一倍
明天计划的事
搭建服务器和测试
遇到的问题

在写完user的value后,打出双引号以后就报红了

Error:(62, 46) java: 未报告的异常错误java.sql.SQLException; 必须对其进行捕获或声明以便抛出
解决方法:抛出异常
虽然并不十分明白为什么抛出异常就好了,哪里异常了,为什么会产生异常,不过还是以后再慢慢想吧
收获
虽然之前也碰到过抛出异常的情况,但是并不知道是怎么一回事,今天抽空了解一下
抛出异常(throw exception)是java中一个程序处理动作。如果一个方法没有捕获可能引发的异常,调用该方法的其他方法应该捕获并处理异常

摘自:http://www.importnew.com/1701.html


Task1预计完成时间本周之前



返回列表 返回列表
评论

    分享到