最基本的数据库操作,SpringBoot的基础,SpringBoot省去了Connection的创建和关闭连接的操作,现在用起来再方便不过了。第一步是引入maven包。由于我的是mysql,mysql包groupId>mysql-connector-javaruntime配置数据源,配置自己数据spring的地址账号密码信息:datasource:url:jdbc:mysql://127.0.0.1:3306/springboot用户名:root密码:123456driver-class-name:com.mysql.jdbc.Driverhosts通过注入JdbcTemplate释放等数据库连接操作。第一种jdbcTemplate直接通过insert方法写语句执行,但是此时返回的结果是执行成功还是失败。如果需要等待生成ID的值,需要通过SimpleJdbcInsert的executeAndReturnKey方法获取结果。@Repository("rideRepository")公共类RideRepositoryImpl实现RideRepository{@AutowiredprivateJdbcTemplatejdbcTempleate;publicRidecreateRide(Rideride){//第一种不返回插入数据自动生成的ID值jdbcTempleate.update("insertintoride(name,duration)values(?,?)",ride.getName(),ride.getDuration());//第二种可以获得生成的id值SimpleJdbcInsertinsert=newSimpleJdbcInsert(jdbcTempleate);列表<字符串>列=新的ArrayList<>();columns.add("姓名");columns.add("持续时间");insert.setTableName("骑");insert.setColumnNames(列);Mapdata=newHashMap<>();data.put("姓名",ride.getName());data.put("duration",ride.getDuration());insert.setGeneratedKeyName("id");数字键=insert.executeAndReturnKey(data);returnnull;}}查询结果可以通过jdbcTemplate获取,通过RowMapper对应具体的bean,RowMapper可以抽象成一个自定义的RideRowMapper类@OverridepublicListgetRides(){Listrides=jdbcTempleate.查询(“选择ect*fromride",newRowMapper(){@OverridepublicRidemapRow(ResultSetresultSet,inti)throwsSQLException{Rideride=newRide();ride.setId(resultSet.getInt("id"))};ride.setName(resultSet.getString("name"));ride.setDuration(resultSet.getInt("duration"));回程;}});回程;}类RideRowMapper实现RowMapper{@OverridepublicRidemapRow(ResultSetresultSet,inti)throwsSQLException{Rideride=newRide();ride.setId(resultSet.getInt("id"));ride.setName(resultSet.getString("name"));骑。setDuration(resultSet.getInt("duration"));returnride;}}另外可以通过KeyHolder获取插入的字长的id值,需要通过PreparedStatementCreator来实现publicRidecreateRide(Rideride){KeyHolderkeyHolder=newGeneratedKeyHolder();jdbcTempleate.update(newPreparedStatementCreator(){@OverridepublicPreparedStatementcreatePreparedStatement(Connectionconnection)throwsSQLException{PreparedStatementps=connection.prepareStatement("insertintoride(name,duration)values(?,?)",newString[]{"id"});ps.setString(1,ride.getName());附言。setInt(2,ride.getDuration());返回ps;}},钥匙扣);编号id=keyHolder.getKey();returngetRide(id.intValue());}privateRidegetRide(intid){returnjdbcTempleate.queryForObject("select*fromride",newRideRowMapper());}更新数据方法privateRideupdateRide(Rideride){jdbcTempleate.update("更新游乐设施名称=?,duration=?whereid=?",ride.getName(),ride.getDuration(),ride.getId());returnnull;}批量更新方法需要转换成list和内部数组格式,按照sql语句位置相同的数据格式publicvoidbatch(){Listrides=this.getRides();List