• Spring Jdbc使用


    @Repository
    public class UserDaoImpl extends JdbcTemplate implements UserDao {
    
        @Resource
        private JdbcTemplate jdbcTemplate;
    
        public boolean addUser(final User user) {
            String sqlStr = "INSERT INTO USER(username,PASSWORD) VALUES(?,?)";
            int status = jdbcTemplate.update(sqlStr, new PreparedStatementSetter() {
                @Override
                public void setValues(PreparedStatement ps) throws SQLException {
                    ps.setString(1, user.getUsername());
                    ps.setString(2, user.getPassword());
                }
            });
            
            return status == 0 ? false : true;
        }
    
        public boolean delUser(final User user) {
            String sqlStr = "DELETE FROM USER WHERE id=?";
            int status = jdbcTemplate.update(sqlStr, new PreparedStatementSetter() {
                @Override
                public void setValues(PreparedStatement ps) throws SQLException {
                    ps.setInt(1, user.getId());
                }
            });
    
            return status == 0 ? false : true;
        }
    
        public List<User> findByAll() {
            String sqlStr = "SELECT id,username,PASSWORD FROM USER";
            List<User> users = jdbcTemplate.query(sqlStr,  new BeanPropertyRowMapper<User>(User.class));
            return users;
        }
    
        public List<User> findByCloumns(final User user) {
            String sqlStr = "SELECT id,username,password FROM USER WHERE username=? AND password=?";
            final List<User> users = new ArrayList<User>();
            final User u = new User();
            jdbcTemplate.query(sqlStr, new PreparedStatementSetter() {
                @Override
                public void setValues(PreparedStatement ps) throws SQLException {
                    ps.setString(1, user.getUsername());
                    ps.setString(2, user.getPassword());
                }
            }, new RowCallbackHandler() {
                @Override
                public void processRow(ResultSet rs) throws SQLException {
                    u.set(rs.getInt("id"), rs.getString("username"), rs.getString("password"));
                    users.add(u);
                }
            });
            
            jdbcTemplate.query(sqlStr, new Object[]{user.getUsername(), user.getPassword()}, new RowCallbackHandler() {
                @Override
                public void processRow(ResultSet rs) throws SQLException {
                    u.set(rs.getInt("id"), rs.getString("username"), rs.getString("password"));
                    users.add(u);
                }
            });
            
            return users;
        }
    
        public boolean updUser(final User user) {
            String sqlStr = "UPDATE USER SET username=?, PASSWORD=? WHERE id=?";
            int status = jdbcTemplate.update(sqlStr, new PreparedStatementSetter() {
                @Override
                public void setValues(PreparedStatement ps) throws SQLException {
                    ps.setString(1, user.getUsername());
                    ps.setString(2, user.getPassword());
                    ps.setInt(3, user.getId());
                }
            });
    
            return status == 0 ? false : true;
        }
    
        
    }
    
    配置文件中声明jdbcTemplate即可
    
    <!-- 配置Jdbc模板 -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
  • 相关阅读:
    转:IOCP在网络应用中常见错误分析
    Ext.Button的禁用
    Excel连接字符串
    从表单为实体对象赋值
    根据指定类型创建数组
    Ext.GridPanel数据显示不正确
    vue 记事本
    杂谈(一)
    推荐《程序设计的 Top 10 做与不做》和《关于编程,鲜为人知的真相》
    (转)黄鸣博客:警惕29岁现象
  • 原文地址:https://www.cnblogs.com/mengyao/p/4857150.html
Copyright © 2020-2023  润新知