mysql使用JdbcTemplate

 使用JdbcTemplate练习 常用的 query:

query()  queryForMap()  queryForObject()  queryForList()

import mysqltesting.ljs.BaseMysqlTest;
import mysqltesting.ljs.Entity.Student;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;

import java.sql.ResultSet;
import java.util.List;
import java.util.Map;

public class AControllerTest extends BaseMysqlTest {
    @Autowired
    private AController controller;

    @Test
    public void test() {
        controller.updateAddress();
    }

    /**
     * query(String sql,new RowMapper<Bean>(){重写 <Bean> mapRow(ResultSet rs,int i)})
     * 返回 List<Bean>
     *
     *  queryForMap 直接 queryForMap(String sql,Object... objs)
     *
     *  queryForObject - > 和query的方式一样 但是只返回一条记录
     *
     *  queryForList(String sql)返回List<Map<String,Object>> 类似于返回多条的queryForMap
     *
     *  BeanPropertyRowMapper(class<?> mappedClass) 会自动封装所有同名的属性 相比前面实现匿名内部类 new RowMapper要好的多
     */
    @Test
    public void test2() {
        String sql = "select * from student where servlet > 40";

        List<Student> query = template.query(sql, (ResultSet rs, int i) -> {
            Student stu = new Student();
            stu.setId(rs.getString("id"));
            stu.setUsername(rs.getString("username"));
            stu.setServlet(rs.getString("servlet"));
            stu.setJsp(rs.getString("jsp"));
            stu.setAddress(rs.getString("address"));
            return stu;
        });

        System.out.println(query.toString());
    }

    @Test
    public void test3(){
        String sql = "select * from student where servlet > 40";

        List<Student> query = template.query(sql, new BeanPropertyRowMapper<>(Student.class));

        System.out.println(query.toString());
    }

    @Test
    public void test4(){
        String sql = "select * from student where servlet > 40";

        List<Map<String, Object>> query = template.queryForList(sql);

        System.out.println(query.toString());
    }

    @Test
    public void test5(){
        String sql =  "select count(*) from student";

        Integer integer = template.queryForObject(sql, Integer.class);
//        List<Integer> list = template.queryForList(sql, Integer.class);

    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值