Spring的jdbcTemplate操作

来源:互联网 发布:伯德生涯数据 编辑:程序博客网 时间:2024/06/06 08:45

jdbcTemplate

  • Spring对jdbc进行的封装

jdbcTemplate的使用

  • Step1: 导入jar包

  • Step2: 设置数据库的信息

  • Step3: 创建jdbcTemplate对象,设置数据源
  • Step4: 使用jdbcTemplate对象的方法,进行crud操作

    public class JdbcTempalteDemo {private static Logger log = Logger.getLogger(JdbcTempalteDemo.class);public static JdbcTemplate getJdbcTemplate(){    JdbcTemplate jdbcTemplate = null;    //1. 设置数据库信息    DriverManagerDataSource dataSource = new DriverManagerDataSource();    dataSource.setDriverClassName("com.mysql.jdbc.Driver");    dataSource.setUrl("jdbc:mysql:///test");    dataSource.setUsername("root");    dataSource.setPassword("123456");    //2. 创建jdbcTemplate对象,设置数据源    jdbcTemplate = new JdbcTemplate(dataSource);    return  jdbcTemplate;}public static int addUser(){    log.info("===============添加用户=========");    JdbcTemplate tempalte = getJdbcTemplate();    //3. 调用jdbcTemplate对象的方法实现操作    //SQL语句    String sql = "INSERT INTO user(name,birthday,money) VALUES(?,?,?)";    ### 添加、修改和删除都可以调用该方法    int rows = tempalte.update(sql, "小南","2010-10-10",3000.0);    return rows;}

查询操作

jdbcTemplate实现查询,有接口RowMapper,jdbcTemplate针对这个接口没有提供实现类,得到不同的类型数据需自己进行数据封装
  • jdbc的实现
    public static void jdbcDone(){        Connection conn = null;        PreparedStatement ps = null;        ResultSet rs = null;        try {            //1. 加载数据库的驱动            Class.forName("com.mysql.jdbc.Driver");            //2. 创建连接            conn = DriverManager.getConnection("jdbc:mysql:///test","root","123456");            //3. 编写SQL语句            String sql = "SELECT * FROM user WHERE name = ?";            ps = conn.prepareStatement(sql);            ps.setString(1, "小南");            rs = ps.executeQuery();            //遍历结果集            List<User> userList = new ArrayList<User>();            while(rs.next()){                Integer uid = rs.getInt("id");                String userName = rs.getString("name");                String birthday = rs.getString("birthday");                Double salary = rs.getDouble("money");                userList.add(new User(uid, userName, birthday, salary));            }            for (User user : userList) {                System.out.println(user);            }        } catch (Exception e) {            e.printStackTrace();        }finally{            try {                rs.close();                ps.close();                conn.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        //3.     }
  • 查询返回某个值(统计)

    public static int queryCount(){    log.info("===============统计用户的数据=========");    JdbcTemplate tempalte = getJdbcTemplate();    //3. 调用jdbcTemplate对象的方法实现操作    //SQL语句    String coutSql = "select count(*) from user";    /**     * 第二个参数:返回结果要求的类型     */    int count = tempalte.queryForObject(coutSql, Integer.class);    return count;}
  • 查询返回一个对象

    //查询操作public static void queryObject(){    log.info("===============查询单个对象=========");    JdbcTemplate tempalte = getJdbcTemplate();    //3. 调用jdbcTemplate对象的方法实现操作    //SQL语句    String objSql = "SELECT * FROM user WHERE name = ? ";    //第二个参数为RowMapper的实现类,需要自己写实现类封装查询的结果    User user = tempalte.queryForObject(objSql, new UserMapper(), "小南");    System.out.println(user);}public class UserMapper implements RowMapper<User> {    @Override    public User mapRow(ResultSet rs, int rowNum) throws SQLException {        Integer uid = rs.getInt("id");        String userName = rs.getString("name");        String birthday = rs.getString("birthday");        Double salary = rs.getDouble("money");        return new User(uid, userName, birthday, salary);    }}
  • 查询返回list集合

    /** * 查询集合 */public static void queryList(){    log.info("===============查询多个对象=========");    JdbcTemplate tempalte = getJdbcTemplate();    //3. 调用jdbcTemplate对象的方法实现操作    //SQL语句    String selSql = "SELECT * FROM user";    //第二个参数为RowMapper的实现类,需要自己写实现类封装查询的结果    List<User> userList = tempalte.query(selSql, new UserMapper());    System.out.println(userList);}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 解完大便屁眼疼怎么办 拉大便后肛门痛怎么办 3岁宝宝肛裂怎么办 无臂人大便后怎么办 老婆移情别恋了怎么办 自己移情别恋了怎么办 嘴巴里破了变白怎么办 上嘴唇里面长泡怎么办 嘴皮里面长泡怎么办 嘴巴里经常长泡怎么办 嘴唇上长透明泡怎么办 嘴唇上长很多泡怎么办 嘴巴里长白色泡怎么办 做了漂唇起泡了怎么办 漂唇之后起泡了怎么办 漂唇后起了水泡怎么办 嘴唇起泡,弄破了怎么办 九个月的宝宝上火了怎么办 8岁儿童嘴唇起泡怎么办 宝宝嘴皮上火起泡了怎么办 上嘴唇起泡肿了怎么办 上嘴唇突然肿了怎么办? 醒来上嘴唇肿了怎么办 嘴巴突然肿了怎么办呢 下嘴唇肿起来了怎么办 上嘴唇肿了起泡怎么办 上火下嘴唇肿了怎么办 上火嘴唇都肿了怎么办 嘴唇起泡后肿了怎么办 嘴唇上有白点颗粒状怎么办 嘴唇缺了一块红怎么办 人得钩端螺旋体怎么办 脖子上有鸡皮肤怎么办 不结婚老了以后怎么办 丁克族老了怎么办知乎 2个月宝宝咳嗽怎么办 干活累的手疼怎么办 脸上长白色的癣怎么办 全身起红斑很痒怎么办 宝宝脖子红烂了怎么办 背上长红斑很痒怎么办