当前位置: 首页 > news >正文

二道江网站建设未备案网站 赚钱

二道江网站建设,未备案网站 赚钱,四川省住房城乡建设厅网站,wordpress连接直达参考资料 Java 基础 - 泛型机制详解路人甲-Java泛型专题 目录一. 通用Mapper1.1 实体类1.2 Mapper基类1.3 自定义接口1.4 抽象基类Service1.5 调用二. session和bean的获取一. 通用Mapper 1.1 实体类 ⏹ Accessors(chain true): 允许链式调用 import lombok.Data; import …参考资料 Java 基础 - 泛型机制详解路人甲-Java泛型专题 目录一. 通用Mapper1.1 实体类1.2 Mapper基类1.3 自定义接口1.4 抽象基类Service1.5 调用二. session和bean的获取一. 通用Mapper 1.1 实体类 ⏹ Accessors(chain true): 允许链式调用 import lombok.Data; import lombok.experimental.Accessors;import java.math.BigDecimal;Data Accessors(chain true) public class TagEntity {private BigDecimal id;private String name; }1.2 Mapper基类 ⏹ 该接口中定义了共通的增删改查方法 因为要保证基类的通用性使用泛型可以保证能使用任何类型的实体类 import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.math.BigDecimal;public interface BaseMapperT {/*** 返回表中的数据量* * param tableName 表名* return 总数量*/Select( select count(*) from ${tableName} )BigDecimal getCount(Param(tableName) String tableName);/*** 插入数据* * param entity entity* return int 更新件数*/int insert(T entity);/*** 更新数据* * param entity entity* return int 更新件数*/int updateByPrimaryKey(T entity);/*** 删除数据* * param entity entity* return int 删除件数*/int deleteByPrimaryKey(T entity); }1.3 自定义接口 ⏹ 自定义接口继承基类Mapper TagGenericMapper接口继承了BaseMapper接口,也就有了其所有的方法 public interface TagGenericMapper extends BaseMapperTagEntity {// 定义独有的,非共通的方法 }⏹ xml中的insert方法对应着基类Mapper中的insert接口 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.jmw.mapper.TagGenericMapper!-- 插入数据 --insert idinsert parameterTypejava.util.MapINSERT INTOt_tag(id, name)VALUES (#{id}, #{name})/insert!-- 更新数据 --!-- 删除数据 --!-- 查询数据 -- /mapper1.4 抽象基类Service import org.springframework.beans.factory.annotation.Autowired;public abstract class BaseServiceAbstractT {// ❗❗❗共通的基类Mapper,此处一定不能使用java的Resource来注入,否则失败Autowiredprotected BaseMapperT baseMapper;// 插入int insert(T entity) {int count 0;try {count baseMapper.insert(entity);} catch (Exception ex) {// 模拟打印logSystem.out.println(程序异常,异常的原因是: ex.getMessage());}return count;}// 更新int update(T entity) {int count 0;try {count baseMapper.updateByPrimaryKey(entity);} catch (Exception ex) {// 模拟打印logSystem.out.println(程序异常,异常的原因是: ex.getMessage());}return count;}// 删除int delete(T entity) {int count 0;try {count baseMapper.deleteByPrimaryKey(entity);} catch (Exception ex) {// 模拟打印logSystem.out.println(程序异常,异常的原因是: ex.getMessage());}return count;} }1.5 调用 import org.springframework.stereotype.Service; import org.springframework.boot.CommandLineRunner; import javax.annotation.Resource; import java.math.BigDecimal;Service public class TagService extends BaseServiceAbstractTagEntity implements CommandLineRunner {Resourceprivate TagGenericMapper mapper;Overridepublic void run(String... args) throws Exception {this.init();}public void init() {// 查询指定表中的数据数量BigDecimal count mapper.getCount(t_tag);System.out.println(count); // 5// 准备要插入数据TagEntity tagEntity new TagEntity();tagEntity.setId(BigDecimal.ONE).setName(乌班图);// 通过抽象类中的方法向Tag表中插入数据int result this.insert(tagEntity);System.out.println(result); // 1} }⏹ 流程示意图 二. session和bean的获取 ⏹ 定义一个基类Controller使用泛型将IOC容器和session中获取到的数据转换为对应的实体类 import org.springframework.beans.BeansException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.util.ObjectUtils;import javax.servlet.http.HttpSession;public abstract class BaseControllerAbstract implements ApplicationContextAware {private static ApplicationContext applicationContext;// 注入session对象Autowiredprivate HttpSession session;Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {BaseControllerAbstract.applicationContext applicationContext;}// 根据名称获取beanSuppressWarnings(unchecked)protected T T getBean(String name) throws BeansException {// 直接将Bean转换为对应的类型return (T) applicationContext.getBean(name);}// 根据class获取beanprotected T T getBean(ClassT clazz) throws BeansException {return applicationContext.getBean(clazz);}// 设置sessionprotected void setSession(Object data) {session.setAttribute(data.getClass().getSimpleName(), data);}// 获取sessionSuppressWarnings(unchecked)protected T T getSession(Class ? clazz) {Object sessionINfo session.getAttribute(clazz.getSimpleName());if (ObjectUtils.isEmpty(sessionINfo)) {return null;}// 从session中获取到的数据是一个Object类型的数据,使用泛型将其转换为指定的类型return (T) sessionINfo;} }⏹因为使用了泛型所以获取IOC容器中的Bean和session中数据的时候无需进行类型转换 import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView;import java.math.BigDecimal;Controller RequestMapping(/ztest) public class ZTestController extends BaseControllerAbstract {GetMapping(/init)public ModelAndView init() {// 向session中放入数据TagEntity tagEntity new TagEntity();tagEntity.setId(BigDecimal.ONE).setName(tag);this.setSession(tagEntity);ModelAndView modelAndView new ModelAndView();modelAndView.setViewName(ZTest);return modelAndView;}PostMapping(/test)public ResponseEntityVoid test() throws Exception {// 获取Bean对象TagService tag1 this.getBean(tagService);System.out.println(tag1);TagService tag2 this.getBean(TagService.class);System.out.println(tag2);// 从session中获取entity数据TagEntity sessionEntity this.getSession(TagEntity.class);System.out.println(sessionEntity);return ResponseEntity.noContent().build();} }
http://www.hkea.cn/news/14298523/

相关文章:

  • 泰安企业公司什么叫做seo
  • 宣传部网站建设方案wordpress 外部链接
  • wordpress cms下载地址seo监控系统
  • 网站建设芜湖建站空间
  • 金华专业网站制作公司wordpress二次元网站
  • 淘宝网站建设没法上传怎么办好的产品设计网站
  • 天气预报网站开发山东建设监理协会继续教育网站
  • 福田做商城网站建设哪家便宜龙岗网站建设流程
  • 石家庄有学校交做网站和优化的吗wordpress被植入广告
  • 如何设计网站建设引导页这么做输入文字的网站
  • 鼓楼微网站开发深圳建设集团有限公司官网
  • 信息网站 模板创意设计公司官网
  • 微信公众号的网站企业营销是啥意思
  • 哪个域名注册网站好西安网站建设多少钱
  • 网站建设颜色注意事项电子商城网站建设参考文献
  • 网站建设介绍推广用语西安网站建立
  • 教学成果申报网站 化工专业建设买了网站模版怎么做
  • 成都专业网站营销北辰手机网站建设
  • 有创意的网站开发都匀网站建设公司
  • 网站目录权限设置东莞软文推广
  • 关于怎样把网站建设好的一些建议cms影视源码采集
  • 校园局域网站建设费用给个网站能用的2022
  • 做网站需要备案吗服装网站建设发展状况
  • 哪个网站代做ppt便宜长清网站建设
  • 石家庄集团公司网站建设wordpress主题怎么设置tdk
  • 内衣网站建设推广手机网站 微信平台
  • 做类似简书的网站排名
  • php企业网站 源码企业电子商务网站建设总结
  • 做建筑效果图最好的网站12380网站建设情况
  • 集团公司网站模板装修网页设计网站