Java架构师之旅(十六)

夜光序言:

今夕何夕兮,搴舟中流。

今日何日兮,得与王子同舟。

蒙羞被好兮,不訾诟耻。

心几烦而不绝兮,得知王子。

山有木兮木有枝,心悦君兮君不知。

 

 

正文:

查询【这是重点~~】

使用jdbcTemplate也可以实现查询操作

几天不看,就容易忘记~~,所以要经常回看~~

我们在做项目的时候记得要遵循一个原则:那就是避免用到过多技术

 

记得有一个项目用到ssm和ssh还有mvc等,结果就是软七八糟,所以不推荐嗯

 

  1. 查询返回某一个值

 

第二个参数:返回类型的class

第一个参数:sql语句

 

//1、夜光:查询表中有多少条数据

    

@Test

public void testCount(){

//创建一个对象,用来设置数据库信息

        DriverManagerDataSource dataSource =new DriverManagerDataSource();

        dataSource.setDriverClassName("com.mysql.jdbc.Driver");

        //下面,我们还需要设置数据库地址

        dataSource.setUrl("jdbc:mysql:///studentsmanager");

        dataSource.setUsername("root");

        dataSource.setPassword("1111");

//创建jdbcTemplate模板对象,设置数据源

        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

 

    //夜光:调用jdbcTemplate里面的方法实现计数

        //我们先写一个sql语句

    String sql = "select count(*) from user";

 

    //调用jdbcTemplate里面的方法来实现

int count = jdbcTemplate.queryForObject(sql, Integer.class);

System.out.println(count);

}

 

第二个:查询返回对象~

报错:

我们需要冷静下来,好好专研怎么书写嗯~~

 

//jdbc底层实现的代码

@Test

public void testJDBC() throws SQLException{

Connection conn = null;

PreparedStatement psmt = null;

ResultSet rs = null;

 

//加载驱动

try {

Class.forName("com.mysql.jdbc.Driver");

//创建连接

conn = DriverManager.getConnection("jdbc:mysql:///studentsmanager", "root", "1111");

//编写sql语句

String sql = "select * from user where username=?";

//预编译sql

psmt = conn.prepareStatement(sql);

//夜光:设置参数值

psmt.setString(1, "lucy");

//执行sql

rs = psmt.executeQuery();

 

//遍历结果集

 

while(rs.next()){

//得到返回结果值

String username = rs.getString("username");

String password = rs.getString("password");

//夜光:我想把这两个值放到user对象里面去

User user = new User();

user.setUsername(username);

user.setPassword(password);

System.out.println(user);

}

 

} catch (Exception e) {

e.printStackTrace();

}finally{

try{

rs.close();

    psmt.close();

    conn.close();

}catch (SQLException e) {

    e.printStackTrace();

}

 

}

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值