日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring模板对象

發布時間:2025/3/15 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring模板对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spring模塊對象:

把共性的方法抽取出來固定為一個模板,后續再操作只需要填充內容即可。
比如:淘寶每次買東西都要填寫地址,只是每次買的東西不一樣,所以可以做一個默認地址,每次買東西都要去選商品就行了,不需要每次都填寫地址。

JdbcTemplate

pom.xml

<dependencies><!--無mybatis配置坐標--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.1.9.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.1.9.RELEASE</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.1.9.RELEASE</version></dependency></dependencies>

工具類JDBCConfig

public class JDBCConfig {@Value("${jdbc.driver}")private String driver;@Value("${jdbc.url}")private String url;@Value("${jdbc.username}")private String userName;@Value("${jdbc.password}")private String password;@Bean("dataSource")public DataSource getDataSource(){DruidDataSource ds = new DruidDataSource();ds.setDriverClassName(driver);ds.setUrl(url);ds.setUsername(userName);ds.setPassword(password);return ds;}//注冊JdbcTemplate模塊對象bean@Bean("jdbcTemplate")public JdbcTemplate getJdbcTemplate(@Autowired DataSource dataSource){return new JdbcTemplate(dataSource);}@Bean("jdbcTemplate2")public NamedParameterJdbcTemplate getJdbcTemplate2(@Autowired DataSource dataSource){return new NamedParameterJdbcTemplate(dataSource);} }

工具類SpringConfig

@Configuration @ComponentScan("com.itheima") @PropertySource("classpath:jdbc.properties") @Import(JDBCConfig.class) public class SpringConfig { }

AccountDao

public interface AccountDao {void save(Account account);void delete(Integer id);void update(Account account);String findNameById(Integer id);Account findById(Integer id);List<Account> findAll();List<Account> findAll(int pageNum,int preNum);Long getCount(); }

實現類AccountDaoImpl:(提供標準的sql語句操作API)

//dao注冊為bean @Repository("accountDao") public class AccountDaoImpl implements AccountDao {//注入模板對象@Autowiredprivate JdbcTemplate jdbcTemplate;public void save(Account account) {String sql = "insert into account(name,money)values(?,?)";jdbcTemplate.update(sql,account.getName(),account.getMoney());}public void delete(Integer id) {String sql = "delete from account where id = ?";jdbcTemplate.update(sql,id);}public void update(Account account) {String sql = "update account set name = ? , money = ? where id = ?";jdbcTemplate.update(sql, account.getName(),account.getMoney(),account.getId());}public String findNameById(Integer id) {String sql = "select name from account where id = ? ";//單字段查詢可以使用專用的查詢方法,必須制定查詢出的數據類型,例如name為String類型return jdbcTemplate.queryForObject(sql,String.class,id );}public Account findById(Integer id) {String sql = "select * from account where id = ? ";//支持自定義行映射解析器RowMapper<Account> rm = new RowMapper<Account>() {public Account mapRow(ResultSet rs, int rowNum) throws SQLException {Account account = new Account();account.setId(rs.getInt("id"));account.setName(rs.getString("name"));account.setMoney(rs.getDouble("money"));return account;}};return jdbcTemplate.queryForObject(sql,rm,id);}public List<Account> findAll() {String sql = "select * from account";//使用spring自帶的行映射解析器,要求必須是標準封裝return jdbcTemplate.query(sql,new BeanPropertyRowMapper<Account>(Account.class));}public List<Account> findAll(int pageNum, int preNum) {String sql = "select * from account limit ?,?";//分頁數據通過查詢參數賦值return jdbcTemplate.query(sql,new BeanPropertyRowMapper<Account>(Account.class),(pageNum-1)*preNum,preNum);}public Long getCount() {String sql = "select count(id) from account ";//單字段查詢可以使用專用的查詢方法,必須制定查詢出的數據類型,例如數據總量為Long類型return jdbcTemplate.queryForObject(sql,Long.class);} }

實現類AccountDaoImpl2:

//dao注冊為bean @Repository //@Primary public class AccountDaoImpl2 implements AccountDao {//注入模板對象@Autowiredprivate NamedParameterJdbcTemplate jdbcTemplate;public void save(Account account) {String sql = "insert into account(name,money)values(:name,:money)";Map pm = new HashMap();pm.put("name",account.getName());pm.put("money",account.getMoney());jdbcTemplate.update(sql,pm);}public void delete(Integer id) {}public void update(Account account) {}public String findNameById(Integer id) {return null;}public Account findById(Integer id) {return null;}public List<Account> findAll() {return null;}public List<Account> findAll(int pageNum, int preNum) {return null;}public Long getCount() {return null;} }

實體類Account

public class Account implements Serializable {private Integer id;private String name;private Double money; }

AccountService

public interface AccountService {void save(Account account);void delete(Integer id);void update(Account account);String findNameById(Integer id);Account findById(Integer id);List<Account> findAll();List<Account> findAll(int pageNum,int preNum);Long getCount(); }

AccountServiceImpl

@Service("accountService") public class AccountServiceImpl implements AccountService {@Autowiredprivate AccountDao accountDao;public void save(Account account) {accountDao.save(account);}public void delete(Integer id) {accountDao.delete(id);}public void update(Account account){accountDao.update(account);}public String findNameById(Integer id) {return accountDao.findNameById(id);}public Account findById(Integer id) {return accountDao.findById(id);}public List<Account> findAll() {return accountDao.findAll();}public List<Account> findAll(int pageNum, int preNum) {return accountDao.findAll(pageNum,preNum);}public Long getCount() {return accountDao.getCount();} }

pom.xml

<dependencies><!--無mybatis配置坐標--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.1.9.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.1.9.RELEASE</version></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>2.0.6.RELEASE</version></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency></dependencies>

RedisTemplate

RedisTemplate對象結構

public void changeMoney(Integer id, Double money) {redisTemplate.opsForValue().set("account:id:"+id,money); } public Double findMondyById(Integer id) {Object money = redisTemplate.opsForValue().get("account:id:" + id);return new Double(money.toString()); }

策略模式應用:

策略模式(Strategy Pattern)使用不同策略的對象實現不同的行為方式,策略對象的變化導致行為的變化。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Spring模板对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩精品一区 | www.久久久久久久 | 好吊操这里只有精品 | 精品一区在线观看视频 | 性欧美最猛| 日本一级片在线观看 | 色综合天天综合综合国产 | 日韩免费在线观看视频 | 久久久精品人妻av一区二区三区 | 爱爱免费网址 | 国产日b视频 | 粗大的内捧猛烈进出视频 | 成人午夜影视在线观看 | av无码精品一区二区三区宅噜噜 | 天天干天天做天天操 | 欧美自拍区| 国产精品后入内射日本在线观看 | 一级黄色录像大片 | 黄色三级在线观看 | 欧美老肥妇做爰bbww | 久久99久久99精品中文字幕 | 欧美一级淫片007 | 高清一区二区三区四区五区 | 成人综合区 | 大象传媒成人在线观看 | 日本高清视频在线 | 夜夜爽妓女8888视频免费观看 | 美女一区二区三区四区 | 亚洲在线视频观看 | 人妻熟女一区 | 久操国产在线 | 日韩人成 | 一道本av| 亚洲视频一 | 亚洲五月六月 | 风韵少妇性饥渴推油按摩视频 | 亚洲AV无码久久精品国产一区 | 日韩簧片在线观看 | 亚洲中文无码久久 | 久久精品亚洲精品国产欧美 | 在线免费三级 | 国产视频播放 | 亚洲狼人干 | 国产麻豆一级片 | 亚洲欧美制服丝袜 | 亚洲精选一区二区 | 午夜寂寞剧场 | 日本三级黄色录像 | 国产激情av一区二区三区 | 日本少妇xxxx动漫 | 国产污污视频在线观看 | 色婷综合 | 一级片免费在线 | 欧美v日本 | 瑟瑟视频在线观看 | 国产精品一区二区免费视频 | 久久久久人 | 波多野结衣一区二区三区高清av | 中文字幕日韩高清 | 国产第一色 | 超碰97成人 | 操操日日 | 精品一级少妇久久久久久久 | 色噜噜综合网 | 色偷偷欧美| 色哟哟国产 | 久久久久国产一区二区三区 | 国产在线免费av | 日本综合视频 | 欧美一级淫片免费视频魅影视频 | 哪里可以免费看av | 免费在线h | 亚洲精品电影 | 成人av黄色 | 欧产日产国产精品 | 日本在线www | 特级一级黄色片 | 久久久久久久久久久久国产 | 99视频在线免费 | 欧美久久久久久久久久久 | 国产高清av在线 | 波多野结衣成人在线 | 天堂资源中文在线 | 成人小视频免费 | 黄色网址大全免费 | 亚洲福利一区二区三区 | 成人羞羞国产免费动态 | 中文字幕另类 | 日韩孕交| 中字幕视频在线永久在线观看免费 | 免费播放黄色片 | 国语对白清晰刺激对白 | 日韩a级片 | 尤物网站在线 | 99re这里都是精品 | 中文字幕在线第一页 | 成人免费不卡视频 | 国产绿帽刺激高潮对白 | 中文字幕综合网 |