zoukankan      html  css  js  c++  java
  • 从零搭建SSM框架(三)SSM框架整合

     整合思路

    1.Dao层:

      Mybatis的配置文件:SqlMapConfig.xml

      不需要配置任何内容,需要有文件头。文件必须存在。

      applicationContext-dao.xml

      mybatis整合spring,通过由spring创建数据库连接池,spring管理SqlSessionFactorymapper代理对象。需要mybatisspring的整合包。

    2.Service层:

      applicationContext-service.xml:

      所有的service实现类都放到spring容器中管理。并由spring管理事务。

    3.表现层:

      Springmvc框架,由springmvc管理controller

      Springmvc的三大组件。

    整合步骤

     db.properties

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/e3mall?characterEncoding=utf-8
    jdbc.username=root
    jdbc.password=root
    View Code

    SqlMapConfig.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    
    </configuration>
    View Code

    applicationContext-dao.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
    
        <!-- 数据库连接池 -->
        <!-- 加载配置文件 -->
        <context:property-placeholder location="classpath:conf/db.properties" />
        <!-- 数据库连接池 -->
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
            destroy-method="close">
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
            <property name="driverClassName" value="${jdbc.driver}" />
            <property name="maxActive" value="10" />
            <property name="minIdle" value="5" />
        </bean>
        <!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <!-- 数据库连接池 -->
            <property name="dataSource" ref="dataSource" />
            <!-- 加载mybatis的全局配置文件 -->
            <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" />
        </bean>
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="cn.cnki.mapper" />
        </bean>
    </beans>
    View Code

    applicationContext-service.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
    
        <!-- 配置包扫描器 -->
        <context:component-scan base-package="cn.cnki.service"/>
    </beans>
    View Code

    applicationContext-trans.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
        <!-- 事务管理器 -->
        <bean id="transactionManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <!-- 数据源 -->
            <property name="dataSource" ref="dataSource" />
        </bean>
        <!-- 通知 -->
        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <!-- 传播行为 -->
                <tx:method name="save*" propagation="REQUIRED" />
                <tx:method name="insert*" propagation="REQUIRED" />
                <tx:method name="add*" propagation="REQUIRED" />
                <tx:method name="create*" propagation="REQUIRED" />
                <tx:method name="delete*" propagation="REQUIRED" />
                <tx:method name="update*" propagation="REQUIRED" />
                <tx:method name="find*" propagation="SUPPORTS" read-only="true" />
                <tx:method name="select*" propagation="SUPPORTS" read-only="true" />
                <tx:method name="get*" propagation="SUPPORTS" read-only="true" />
            </tx:attributes>
        </tx:advice>
        <!-- 切面 -->
        <aop:config>
            <aop:advisor advice-ref="txAdvice"
                pointcut="execution(* cn.cnki.service..*.*(..))" />
        </aop:config>
    </beans>
    View Code

    springmvc.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
            http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
    
        <context:component-scan base-package="cn.cnki.controller" />
        <mvc:annotation-driven />
        <bean  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp/" />
            <property name="suffix" value=".jsp" />
        </bean>
        <!-- 配置资源映射 -->
        <mvc:resources location="/css/" mapping="/css/**"/>
        <mvc:resources location="/js/" mapping="/js/**"/>
    </beans>
    View Code

     web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
      <display-name>cnki-manager-web</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <!-- 加载spring容器 -->
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/applicationContext-*.xml</param-value>
        </context-param>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
      <!-- 解决post乱码 -->
        <filter>
            <filter-name>CharacterEncodingFilter</filter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>utf-8</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>CharacterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
        <!-- springmvc的前端控制器 -->
        <servlet>
            <servlet-name>cnki-manager</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring/springmvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>cnki-manager</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    </web-app>
    View Code

    测试框架

    1.数据库新建表

    2.cnki-manager-pojo

    TbItem

    package cn.cnki.pojo;
    
    import java.io.Serializable;
    import java.util.Date;
    
    public class TbItem implements Serializable{
        private Long id;
    
        private String title;
    
        private String sellPoint;
    
        private Long price;
    
        private Integer num;
    
        private String barcode;
    
        private String image;
    
        private Long cid;
    
        private Byte status;
    
        private Date created;
    
        private Date updated;
    
        public Long getId() {
            return id;
        }
    
        public void setId(Long id) {
            this.id = id;
        }
    
        public String getTitle() {
            return title;
        }
    
        public void setTitle(String title) {
            this.title = title == null ? null : title.trim();
        }
    
        public String getSellPoint() {
            return sellPoint;
        }
    
        public void setSellPoint(String sellPoint) {
            this.sellPoint = sellPoint == null ? null : sellPoint.trim();
        }
    
        public Long getPrice() {
            return price;
        }
    
        public void setPrice(Long price) {
            this.price = price;
        }
    
        public Integer getNum() {
            return num;
        }
    
        public void setNum(Integer num) {
            this.num = num;
        }
    
        public String getBarcode() {
            return barcode;
        }
    
        public void setBarcode(String barcode) {
            this.barcode = barcode == null ? null : barcode.trim();
        }
    
        public String getImage() {
            return image;
        }
    
        public void setImage(String image) {
            this.image = image == null ? null : image.trim();
        }
    
        public Long getCid() {
            return cid;
        }
    
        public void setCid(Long cid) {
            this.cid = cid;
        }
    
        public Byte getStatus() {
            return status;
        }
    
        public void setStatus(Byte status) {
            this.status = status;
        }
    
        public Date getCreated() {
            return created;
        }
    
        public void setCreated(Date created) {
            this.created = created;
        }
    
        public Date getUpdated() {
            return updated;
        }
    
        public void setUpdated(Date updated) {
            this.updated = updated;
        }
    }
    View Code

    TbItemExample

    package cn.cnki.pojo;
    
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    public class TbItemExample {
        protected String orderByClause;
    
        protected boolean distinct;
    
        protected List<Criteria> oredCriteria;
    
        public TbItemExample() {
            oredCriteria = new ArrayList<Criteria>();
        }
    
        public void setOrderByClause(String orderByClause) {
            this.orderByClause = orderByClause;
        }
    
        public String getOrderByClause() {
            return orderByClause;
        }
    
        public void setDistinct(boolean distinct) {
            this.distinct = distinct;
        }
    
        public boolean isDistinct() {
            return distinct;
        }
    
        public List<Criteria> getOredCriteria() {
            return oredCriteria;
        }
    
        public void or(Criteria criteria) {
            oredCriteria.add(criteria);
        }
    
        public Criteria or() {
            Criteria criteria = createCriteriaInternal();
            oredCriteria.add(criteria);
            return criteria;
        }
    
        public Criteria createCriteria() {
            Criteria criteria = createCriteriaInternal();
            if (oredCriteria.size() == 0) {
                oredCriteria.add(criteria);
            }
            return criteria;
        }
    
        protected Criteria createCriteriaInternal() {
            Criteria criteria = new Criteria();
            return criteria;
        }
    
        public void clear() {
            oredCriteria.clear();
            orderByClause = null;
            distinct = false;
        }
    
        protected abstract static class GeneratedCriteria {
            protected List<Criterion> criteria;
    
            protected GeneratedCriteria() {
                super();
                criteria = new ArrayList<Criterion>();
            }
    
            public boolean isValid() {
                return criteria.size() > 0;
            }
    
            public List<Criterion> getAllCriteria() {
                return criteria;
            }
    
            public List<Criterion> getCriteria() {
                return criteria;
            }
    
            protected void addCriterion(String condition) {
                if (condition == null) {
                    throw new RuntimeException("Value for condition cannot be null");
                }
                criteria.add(new Criterion(condition));
            }
    
            protected void addCriterion(String condition, Object value, String property) {
                if (value == null) {
                    throw new RuntimeException("Value for " + property + " cannot be null");
                }
                criteria.add(new Criterion(condition, value));
            }
    
            protected void addCriterion(String condition, Object value1, Object value2, String property) {
                if (value1 == null || value2 == null) {
                    throw new RuntimeException("Between values for " + property + " cannot be null");
                }
                criteria.add(new Criterion(condition, value1, value2));
            }
    
            public Criteria andIdIsNull() {
                addCriterion("id is null");
                return (Criteria) this;
            }
    
            public Criteria andIdIsNotNull() {
                addCriterion("id is not null");
                return (Criteria) this;
            }
    
            public Criteria andIdEqualTo(Long value) {
                addCriterion("id =", value, "id");
                return (Criteria) this;
            }
    
            public Criteria andIdNotEqualTo(Long value) {
                addCriterion("id <>", value, "id");
                return (Criteria) this;
            }
    
            public Criteria andIdGreaterThan(Long value) {
                addCriterion("id >", value, "id");
                return (Criteria) this;
            }
    
            public Criteria andIdGreaterThanOrEqualTo(Long value) {
                addCriterion("id >=", value, "id");
                return (Criteria) this;
            }
    
            public Criteria andIdLessThan(Long value) {
                addCriterion("id <", value, "id");
                return (Criteria) this;
            }
    
            public Criteria andIdLessThanOrEqualTo(Long value) {
                addCriterion("id <=", value, "id");
                return (Criteria) this;
            }
    
            public Criteria andIdIn(List<Long> values) {
                addCriterion("id in", values, "id");
                return (Criteria) this;
            }
    
            public Criteria andIdNotIn(List<Long> values) {
                addCriterion("id not in", values, "id");
                return (Criteria) this;
            }
    
            public Criteria andIdBetween(Long value1, Long value2) {
                addCriterion("id between", value1, value2, "id");
                return (Criteria) this;
            }
    
            public Criteria andIdNotBetween(Long value1, Long value2) {
                addCriterion("id not between", value1, value2, "id");
                return (Criteria) this;
            }
    
            public Criteria andTitleIsNull() {
                addCriterion("title is null");
                return (Criteria) this;
            }
    
            public Criteria andTitleIsNotNull() {
                addCriterion("title is not null");
                return (Criteria) this;
            }
    
            public Criteria andTitleEqualTo(String value) {
                addCriterion("title =", value, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleNotEqualTo(String value) {
                addCriterion("title <>", value, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleGreaterThan(String value) {
                addCriterion("title >", value, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleGreaterThanOrEqualTo(String value) {
                addCriterion("title >=", value, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleLessThan(String value) {
                addCriterion("title <", value, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleLessThanOrEqualTo(String value) {
                addCriterion("title <=", value, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleLike(String value) {
                addCriterion("title like", value, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleNotLike(String value) {
                addCriterion("title not like", value, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleIn(List<String> values) {
                addCriterion("title in", values, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleNotIn(List<String> values) {
                addCriterion("title not in", values, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleBetween(String value1, String value2) {
                addCriterion("title between", value1, value2, "title");
                return (Criteria) this;
            }
    
            public Criteria andTitleNotBetween(String value1, String value2) {
                addCriterion("title not between", value1, value2, "title");
                return (Criteria) this;
            }
    
            public Criteria andSellPointIsNull() {
                addCriterion("sell_point is null");
                return (Criteria) this;
            }
    
            public Criteria andSellPointIsNotNull() {
                addCriterion("sell_point is not null");
                return (Criteria) this;
            }
    
            public Criteria andSellPointEqualTo(String value) {
                addCriterion("sell_point =", value, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointNotEqualTo(String value) {
                addCriterion("sell_point <>", value, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointGreaterThan(String value) {
                addCriterion("sell_point >", value, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointGreaterThanOrEqualTo(String value) {
                addCriterion("sell_point >=", value, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointLessThan(String value) {
                addCriterion("sell_point <", value, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointLessThanOrEqualTo(String value) {
                addCriterion("sell_point <=", value, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointLike(String value) {
                addCriterion("sell_point like", value, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointNotLike(String value) {
                addCriterion("sell_point not like", value, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointIn(List<String> values) {
                addCriterion("sell_point in", values, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointNotIn(List<String> values) {
                addCriterion("sell_point not in", values, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointBetween(String value1, String value2) {
                addCriterion("sell_point between", value1, value2, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andSellPointNotBetween(String value1, String value2) {
                addCriterion("sell_point not between", value1, value2, "sellPoint");
                return (Criteria) this;
            }
    
            public Criteria andPriceIsNull() {
                addCriterion("price is null");
                return (Criteria) this;
            }
    
            public Criteria andPriceIsNotNull() {
                addCriterion("price is not null");
                return (Criteria) this;
            }
    
            public Criteria andPriceEqualTo(Long value) {
                addCriterion("price =", value, "price");
                return (Criteria) this;
            }
    
            public Criteria andPriceNotEqualTo(Long value) {
                addCriterion("price <>", value, "price");
                return (Criteria) this;
            }
    
            public Criteria andPriceGreaterThan(Long value) {
                addCriterion("price >", value, "price");
                return (Criteria) this;
            }
    
            public Criteria andPriceGreaterThanOrEqualTo(Long value) {
                addCriterion("price >=", value, "price");
                return (Criteria) this;
            }
    
            public Criteria andPriceLessThan(Long value) {
                addCriterion("price <", value, "price");
                return (Criteria) this;
            }
    
            public Criteria andPriceLessThanOrEqualTo(Long value) {
                addCriterion("price <=", value, "price");
                return (Criteria) this;
            }
    
            public Criteria andPriceIn(List<Long> values) {
                addCriterion("price in", values, "price");
                return (Criteria) this;
            }
    
            public Criteria andPriceNotIn(List<Long> values) {
                addCriterion("price not in", values, "price");
                return (Criteria) this;
            }
    
            public Criteria andPriceBetween(Long value1, Long value2) {
                addCriterion("price between", value1, value2, "price");
                return (Criteria) this;
            }
    
            public Criteria andPriceNotBetween(Long value1, Long value2) {
                addCriterion("price not between", value1, value2, "price");
                return (Criteria) this;
            }
    
            public Criteria andNumIsNull() {
                addCriterion("num is null");
                return (Criteria) this;
            }
    
            public Criteria andNumIsNotNull() {
                addCriterion("num is not null");
                return (Criteria) this;
            }
    
            public Criteria andNumEqualTo(Integer value) {
                addCriterion("num =", value, "num");
                return (Criteria) this;
            }
    
            public Criteria andNumNotEqualTo(Integer value) {
                addCriterion("num <>", value, "num");
                return (Criteria) this;
            }
    
            public Criteria andNumGreaterThan(Integer value) {
                addCriterion("num >", value, "num");
                return (Criteria) this;
            }
    
            public Criteria andNumGreaterThanOrEqualTo(Integer value) {
                addCriterion("num >=", value, "num");
                return (Criteria) this;
            }
    
            public Criteria andNumLessThan(Integer value) {
                addCriterion("num <", value, "num");
                return (Criteria) this;
            }
    
            public Criteria andNumLessThanOrEqualTo(Integer value) {
                addCriterion("num <=", value, "num");
                return (Criteria) this;
            }
    
            public Criteria andNumIn(List<Integer> values) {
                addCriterion("num in", values, "num");
                return (Criteria) this;
            }
    
            public Criteria andNumNotIn(List<Integer> values) {
                addCriterion("num not in", values, "num");
                return (Criteria) this;
            }
    
            public Criteria andNumBetween(Integer value1, Integer value2) {
                addCriterion("num between", value1, value2, "num");
                return (Criteria) this;
            }
    
            public Criteria andNumNotBetween(Integer value1, Integer value2) {
                addCriterion("num not between", value1, value2, "num");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeIsNull() {
                addCriterion("barcode is null");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeIsNotNull() {
                addCriterion("barcode is not null");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeEqualTo(String value) {
                addCriterion("barcode =", value, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeNotEqualTo(String value) {
                addCriterion("barcode <>", value, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeGreaterThan(String value) {
                addCriterion("barcode >", value, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeGreaterThanOrEqualTo(String value) {
                addCriterion("barcode >=", value, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeLessThan(String value) {
                addCriterion("barcode <", value, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeLessThanOrEqualTo(String value) {
                addCriterion("barcode <=", value, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeLike(String value) {
                addCriterion("barcode like", value, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeNotLike(String value) {
                addCriterion("barcode not like", value, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeIn(List<String> values) {
                addCriterion("barcode in", values, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeNotIn(List<String> values) {
                addCriterion("barcode not in", values, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeBetween(String value1, String value2) {
                addCriterion("barcode between", value1, value2, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andBarcodeNotBetween(String value1, String value2) {
                addCriterion("barcode not between", value1, value2, "barcode");
                return (Criteria) this;
            }
    
            public Criteria andImageIsNull() {
                addCriterion("image is null");
                return (Criteria) this;
            }
    
            public Criteria andImageIsNotNull() {
                addCriterion("image is not null");
                return (Criteria) this;
            }
    
            public Criteria andImageEqualTo(String value) {
                addCriterion("image =", value, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageNotEqualTo(String value) {
                addCriterion("image <>", value, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageGreaterThan(String value) {
                addCriterion("image >", value, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageGreaterThanOrEqualTo(String value) {
                addCriterion("image >=", value, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageLessThan(String value) {
                addCriterion("image <", value, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageLessThanOrEqualTo(String value) {
                addCriterion("image <=", value, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageLike(String value) {
                addCriterion("image like", value, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageNotLike(String value) {
                addCriterion("image not like", value, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageIn(List<String> values) {
                addCriterion("image in", values, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageNotIn(List<String> values) {
                addCriterion("image not in", values, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageBetween(String value1, String value2) {
                addCriterion("image between", value1, value2, "image");
                return (Criteria) this;
            }
    
            public Criteria andImageNotBetween(String value1, String value2) {
                addCriterion("image not between", value1, value2, "image");
                return (Criteria) this;
            }
    
            public Criteria andCidIsNull() {
                addCriterion("cid is null");
                return (Criteria) this;
            }
    
            public Criteria andCidIsNotNull() {
                addCriterion("cid is not null");
                return (Criteria) this;
            }
    
            public Criteria andCidEqualTo(Long value) {
                addCriterion("cid =", value, "cid");
                return (Criteria) this;
            }
    
            public Criteria andCidNotEqualTo(Long value) {
                addCriterion("cid <>", value, "cid");
                return (Criteria) this;
            }
    
            public Criteria andCidGreaterThan(Long value) {
                addCriterion("cid >", value, "cid");
                return (Criteria) this;
            }
    
            public Criteria andCidGreaterThanOrEqualTo(Long value) {
                addCriterion("cid >=", value, "cid");
                return (Criteria) this;
            }
    
            public Criteria andCidLessThan(Long value) {
                addCriterion("cid <", value, "cid");
                return (Criteria) this;
            }
    
            public Criteria andCidLessThanOrEqualTo(Long value) {
                addCriterion("cid <=", value, "cid");
                return (Criteria) this;
            }
    
            public Criteria andCidIn(List<Long> values) {
                addCriterion("cid in", values, "cid");
                return (Criteria) this;
            }
    
            public Criteria andCidNotIn(List<Long> values) {
                addCriterion("cid not in", values, "cid");
                return (Criteria) this;
            }
    
            public Criteria andCidBetween(Long value1, Long value2) {
                addCriterion("cid between", value1, value2, "cid");
                return (Criteria) this;
            }
    
            public Criteria andCidNotBetween(Long value1, Long value2) {
                addCriterion("cid not between", value1, value2, "cid");
                return (Criteria) this;
            }
    
            public Criteria andStatusIsNull() {
                addCriterion("status is null");
                return (Criteria) this;
            }
    
            public Criteria andStatusIsNotNull() {
                addCriterion("status is not null");
                return (Criteria) this;
            }
    
            public Criteria andStatusEqualTo(Byte value) {
                addCriterion("status =", value, "status");
                return (Criteria) this;
            }
    
            public Criteria andStatusNotEqualTo(Byte value) {
                addCriterion("status <>", value, "status");
                return (Criteria) this;
            }
    
            public Criteria andStatusGreaterThan(Byte value) {
                addCriterion("status >", value, "status");
                return (Criteria) this;
            }
    
            public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
                addCriterion("status >=", value, "status");
                return (Criteria) this;
            }
    
            public Criteria andStatusLessThan(Byte value) {
                addCriterion("status <", value, "status");
                return (Criteria) this;
            }
    
            public Criteria andStatusLessThanOrEqualTo(Byte value) {
                addCriterion("status <=", value, "status");
                return (Criteria) this;
            }
    
            public Criteria andStatusIn(List<Byte> values) {
                addCriterion("status in", values, "status");
                return (Criteria) this;
            }
    
            public Criteria andStatusNotIn(List<Byte> values) {
                addCriterion("status not in", values, "status");
                return (Criteria) this;
            }
    
            public Criteria andStatusBetween(Byte value1, Byte value2) {
                addCriterion("status between", value1, value2, "status");
                return (Criteria) this;
            }
    
            public Criteria andStatusNotBetween(Byte value1, Byte value2) {
                addCriterion("status not between", value1, value2, "status");
                return (Criteria) this;
            }
    
            public Criteria andCreatedIsNull() {
                addCriterion("created is null");
                return (Criteria) this;
            }
    
            public Criteria andCreatedIsNotNull() {
                addCriterion("created is not null");
                return (Criteria) this;
            }
    
            public Criteria andCreatedEqualTo(Date value) {
                addCriterion("created =", value, "created");
                return (Criteria) this;
            }
    
            public Criteria andCreatedNotEqualTo(Date value) {
                addCriterion("created <>", value, "created");
                return (Criteria) this;
            }
    
            public Criteria andCreatedGreaterThan(Date value) {
                addCriterion("created >", value, "created");
                return (Criteria) this;
            }
    
            public Criteria andCreatedGreaterThanOrEqualTo(Date value) {
                addCriterion("created >=", value, "created");
                return (Criteria) this;
            }
    
            public Criteria andCreatedLessThan(Date value) {
                addCriterion("created <", value, "created");
                return (Criteria) this;
            }
    
            public Criteria andCreatedLessThanOrEqualTo(Date value) {
                addCriterion("created <=", value, "created");
                return (Criteria) this;
            }
    
            public Criteria andCreatedIn(List<Date> values) {
                addCriterion("created in", values, "created");
                return (Criteria) this;
            }
    
            public Criteria andCreatedNotIn(List<Date> values) {
                addCriterion("created not in", values, "created");
                return (Criteria) this;
            }
    
            public Criteria andCreatedBetween(Date value1, Date value2) {
                addCriterion("created between", value1, value2, "created");
                return (Criteria) this;
            }
    
            public Criteria andCreatedNotBetween(Date value1, Date value2) {
                addCriterion("created not between", value1, value2, "created");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedIsNull() {
                addCriterion("updated is null");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedIsNotNull() {
                addCriterion("updated is not null");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedEqualTo(Date value) {
                addCriterion("updated =", value, "updated");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedNotEqualTo(Date value) {
                addCriterion("updated <>", value, "updated");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedGreaterThan(Date value) {
                addCriterion("updated >", value, "updated");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedGreaterThanOrEqualTo(Date value) {
                addCriterion("updated >=", value, "updated");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedLessThan(Date value) {
                addCriterion("updated <", value, "updated");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedLessThanOrEqualTo(Date value) {
                addCriterion("updated <=", value, "updated");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedIn(List<Date> values) {
                addCriterion("updated in", values, "updated");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedNotIn(List<Date> values) {
                addCriterion("updated not in", values, "updated");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedBetween(Date value1, Date value2) {
                addCriterion("updated between", value1, value2, "updated");
                return (Criteria) this;
            }
    
            public Criteria andUpdatedNotBetween(Date value1, Date value2) {
                addCriterion("updated not between", value1, value2, "updated");
                return (Criteria) this;
            }
        }
    
        public static class Criteria extends GeneratedCriteria {
    
            protected Criteria() {
                super();
            }
        }
    
        public static class Criterion {
            private String condition;
    
            private Object value;
    
            private Object secondValue;
    
            private boolean noValue;
    
            private boolean singleValue;
    
            private boolean betweenValue;
    
            private boolean listValue;
    
            private String typeHandler;
    
            public String getCondition() {
                return condition;
            }
    
            public Object getValue() {
                return value;
            }
    
            public Object getSecondValue() {
                return secondValue;
            }
    
            public boolean isNoValue() {
                return noValue;
            }
    
            public boolean isSingleValue() {
                return singleValue;
            }
    
            public boolean isBetweenValue() {
                return betweenValue;
            }
    
            public boolean isListValue() {
                return listValue;
            }
    
            public String getTypeHandler() {
                return typeHandler;
            }
    
            protected Criterion(String condition) {
                super();
                this.condition = condition;
                this.typeHandler = null;
                this.noValue = true;
            }
    
            protected Criterion(String condition, Object value, String typeHandler) {
                super();
                this.condition = condition;
                this.value = value;
                this.typeHandler = typeHandler;
                if (value instanceof List<?>) {
                    this.listValue = true;
                } else {
                    this.singleValue = true;
                }
            }
    
            protected Criterion(String condition, Object value) {
                this(condition, value, null);
            }
    
            protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
                super();
                this.condition = condition;
                this.value = value;
                this.secondValue = secondValue;
                this.typeHandler = typeHandler;
                this.betweenValue = true;
            }
    
            protected Criterion(String condition, Object value, Object secondValue) {
                this(condition, value, secondValue, null);
            }
        }
    }
    View Code

    3.cnki-manager-dao

    TbItemMapper

    package cn.cnki.mapper;
    
    import cn.cnki.pojo.TbItem;
    import cn.cnki.pojo.TbItemExample;
    import java.util.List;
    import org.apache.ibatis.annotations.Param;
    
    public interface TbItemMapper {
        int countByExample(TbItemExample example);
    
        int deleteByExample(TbItemExample example);
    
        int deleteByPrimaryKey(Long id);
    
        int insert(TbItem record);
    
        int insertSelective(TbItem record);
    
        List<TbItem> selectByExample(TbItemExample example);
    
        TbItem selectByPrimaryKey(Long id);
    
        int updateByExampleSelective(@Param("record") TbItem record, @Param("example") TbItemExample example);
    
        int updateByExample(@Param("record") TbItem record, @Param("example") TbItemExample example);
    
        int updateByPrimaryKeySelective(TbItem record);
    
        int updateByPrimaryKey(TbItem record);
    }
    View Code

    TbItemMapper.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="cn.cnki.mapper.TbItemMapper" >
      <resultMap id="BaseResultMap" type="cn.cnki.pojo.TbItem" >
        <id column="id" property="id" jdbcType="BIGINT" />
        <result column="title" property="title" jdbcType="VARCHAR" />
        <result column="sell_point" property="sellPoint" jdbcType="VARCHAR" />
        <result column="price" property="price" jdbcType="BIGINT" />
        <result column="num" property="num" jdbcType="INTEGER" />
        <result column="barcode" property="barcode" jdbcType="VARCHAR" />
        <result column="image" property="image" jdbcType="VARCHAR" />
        <result column="cid" property="cid" jdbcType="BIGINT" />
        <result column="status" property="status" jdbcType="TINYINT" />
        <result column="created" property="created" jdbcType="TIMESTAMP" />
        <result column="updated" property="updated" jdbcType="TIMESTAMP" />
      </resultMap>
      <sql id="Example_Where_Clause" >
        <where >
          <foreach collection="oredCriteria" item="criteria" separator="or" >
            <if test="criteria.valid" >
              <trim prefix="(" suffix=")" prefixOverrides="and" >
                <foreach collection="criteria.criteria" item="criterion" >
                  <choose >
                    <when test="criterion.noValue" >
                      and ${criterion.condition}
                    </when>
                    <when test="criterion.singleValue" >
                      and ${criterion.condition} #{criterion.value}
                    </when>
                    <when test="criterion.betweenValue" >
                      and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                    </when>
                    <when test="criterion.listValue" >
                      and ${criterion.condition}
                      <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
                        #{listItem}
                      </foreach>
                    </when>
                  </choose>
                </foreach>
              </trim>
            </if>
          </foreach>
        </where>
      </sql>
      <sql id="Update_By_Example_Where_Clause" >
        <where >
          <foreach collection="example.oredCriteria" item="criteria" separator="or" >
            <if test="criteria.valid" >
              <trim prefix="(" suffix=")" prefixOverrides="and" >
                <foreach collection="criteria.criteria" item="criterion" >
                  <choose >
                    <when test="criterion.noValue" >
                      and ${criterion.condition}
                    </when>
                    <when test="criterion.singleValue" >
                      and ${criterion.condition} #{criterion.value}
                    </when>
                    <when test="criterion.betweenValue" >
                      and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                    </when>
                    <when test="criterion.listValue" >
                      and ${criterion.condition}
                      <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
                        #{listItem}
                      </foreach>
                    </when>
                  </choose>
                </foreach>
              </trim>
            </if>
          </foreach>
        </where>
      </sql>
      <sql id="Base_Column_List" >
        id, title, sell_point, price, num, barcode, image, cid, status, created, updated
      </sql>
      <select id="selectByExample" resultMap="BaseResultMap" parameterType="cn.cnki.pojo.TbItemExample" >
        select
        <if test="distinct" >
          distinct
        </if>
        <include refid="Base_Column_List" />
        from tb_item
        <if test="_parameter != null" >
          <include refid="Example_Where_Clause" />
        </if>
        <if test="orderByClause != null" >
          order by ${orderByClause}
        </if>
      </select>
      <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
        select 
        <include refid="Base_Column_List" />
        from tb_item
        where id = #{id,jdbcType=BIGINT}
      </select>
      <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" >
        delete from tb_item
        where id = #{id,jdbcType=BIGINT}
      </delete>
      <delete id="deleteByExample" parameterType="cn.cnki.pojo.TbItemExample" >
        delete from tb_item
        <if test="_parameter != null" >
          <include refid="Example_Where_Clause" />
        </if>
      </delete>
      <insert id="insert" parameterType="cn.cnki.pojo.TbItem" >
        insert into tb_item (id, title, sell_point, 
          price, num, barcode, 
          image, cid, status, 
          created, updated)
        values (#{id,jdbcType=BIGINT}, #{title,jdbcType=VARCHAR}, #{sellPoint,jdbcType=VARCHAR}, 
          #{price,jdbcType=BIGINT}, #{num,jdbcType=INTEGER}, #{barcode,jdbcType=VARCHAR}, 
          #{image,jdbcType=VARCHAR}, #{cid,jdbcType=BIGINT}, #{status,jdbcType=TINYINT}, 
          #{created,jdbcType=TIMESTAMP}, #{updated,jdbcType=TIMESTAMP})
      </insert>
      <insert id="insertSelective" parameterType="cn.cnki.pojo.TbItem" >
        insert into tb_item
        <trim prefix="(" suffix=")" suffixOverrides="," >
          <if test="id != null" >
            id,
          </if>
          <if test="title != null" >
            title,
          </if>
          <if test="sellPoint != null" >
            sell_point,
          </if>
          <if test="price != null" >
            price,
          </if>
          <if test="num != null" >
            num,
          </if>
          <if test="barcode != null" >
            barcode,
          </if>
          <if test="image != null" >
            image,
          </if>
          <if test="cid != null" >
            cid,
          </if>
          <if test="status != null" >
            status,
          </if>
          <if test="created != null" >
            created,
          </if>
          <if test="updated != null" >
            updated,
          </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides="," >
          <if test="id != null" >
            #{id,jdbcType=BIGINT},
          </if>
          <if test="title != null" >
            #{title,jdbcType=VARCHAR},
          </if>
          <if test="sellPoint != null" >
            #{sellPoint,jdbcType=VARCHAR},
          </if>
          <if test="price != null" >
            #{price,jdbcType=BIGINT},
          </if>
          <if test="num != null" >
            #{num,jdbcType=INTEGER},
          </if>
          <if test="barcode != null" >
            #{barcode,jdbcType=VARCHAR},
          </if>
          <if test="image != null" >
            #{image,jdbcType=VARCHAR},
          </if>
          <if test="cid != null" >
            #{cid,jdbcType=BIGINT},
          </if>
          <if test="status != null" >
            #{status,jdbcType=TINYINT},
          </if>
          <if test="created != null" >
            #{created,jdbcType=TIMESTAMP},
          </if>
          <if test="updated != null" >
            #{updated,jdbcType=TIMESTAMP},
          </if>
        </trim>
      </insert>
      <select id="countByExample" parameterType="cn.cnki.pojo.TbItemExample" resultType="java.lang.Integer" >
        select count(*) from tb_item
        <if test="_parameter != null" >
          <include refid="Example_Where_Clause" />
        </if>
      </select>
      <update id="updateByExampleSelective" parameterType="map" >
        update tb_item
        <set >
          <if test="record.id != null" >
            id = #{record.id,jdbcType=BIGINT},
          </if>
          <if test="record.title != null" >
            title = #{record.title,jdbcType=VARCHAR},
          </if>
          <if test="record.sellPoint != null" >
            sell_point = #{record.sellPoint,jdbcType=VARCHAR},
          </if>
          <if test="record.price != null" >
            price = #{record.price,jdbcType=BIGINT},
          </if>
          <if test="record.num != null" >
            num = #{record.num,jdbcType=INTEGER},
          </if>
          <if test="record.barcode != null" >
            barcode = #{record.barcode,jdbcType=VARCHAR},
          </if>
          <if test="record.image != null" >
            image = #{record.image,jdbcType=VARCHAR},
          </if>
          <if test="record.cid != null" >
            cid = #{record.cid,jdbcType=BIGINT},
          </if>
          <if test="record.status != null" >
            status = #{record.status,jdbcType=TINYINT},
          </if>
          <if test="record.created != null" >
            created = #{record.created,jdbcType=TIMESTAMP},
          </if>
          <if test="record.updated != null" >
            updated = #{record.updated,jdbcType=TIMESTAMP},
          </if>
        </set>
        <if test="_parameter != null" >
          <include refid="Update_By_Example_Where_Clause" />
        </if>
      </update>
      <update id="updateByExample" parameterType="map" >
        update tb_item
        set id = #{record.id,jdbcType=BIGINT},
          title = #{record.title,jdbcType=VARCHAR},
          sell_point = #{record.sellPoint,jdbcType=VARCHAR},
          price = #{record.price,jdbcType=BIGINT},
          num = #{record.num,jdbcType=INTEGER},
          barcode = #{record.barcode,jdbcType=VARCHAR},
          image = #{record.image,jdbcType=VARCHAR},
          cid = #{record.cid,jdbcType=BIGINT},
          status = #{record.status,jdbcType=TINYINT},
          created = #{record.created,jdbcType=TIMESTAMP},
          updated = #{record.updated,jdbcType=TIMESTAMP}
        <if test="_parameter != null" >
          <include refid="Update_By_Example_Where_Clause" />
        </if>
      </update>
      <update id="updateByPrimaryKeySelective" parameterType="cn.cnki.pojo.TbItem" >
        update tb_item
        <set >
          <if test="title != null" >
            title = #{title,jdbcType=VARCHAR},
          </if>
          <if test="sellPoint != null" >
            sell_point = #{sellPoint,jdbcType=VARCHAR},
          </if>
          <if test="price != null" >
            price = #{price,jdbcType=BIGINT},
          </if>
          <if test="num != null" >
            num = #{num,jdbcType=INTEGER},
          </if>
          <if test="barcode != null" >
            barcode = #{barcode,jdbcType=VARCHAR},
          </if>
          <if test="image != null" >
            image = #{image,jdbcType=VARCHAR},
          </if>
          <if test="cid != null" >
            cid = #{cid,jdbcType=BIGINT},
          </if>
          <if test="status != null" >
            status = #{status,jdbcType=TINYINT},
          </if>
          <if test="created != null" >
            created = #{created,jdbcType=TIMESTAMP},
          </if>
          <if test="updated != null" >
            updated = #{updated,jdbcType=TIMESTAMP},
          </if>
        </set>
        where id = #{id,jdbcType=BIGINT}
      </update>
      <update id="updateByPrimaryKey" parameterType="cn.cnki.pojo.TbItem" >
        update tb_item
        set title = #{title,jdbcType=VARCHAR},
          sell_point = #{sellPoint,jdbcType=VARCHAR},
          price = #{price,jdbcType=BIGINT},
          num = #{num,jdbcType=INTEGER},
          barcode = #{barcode,jdbcType=VARCHAR},
          image = #{image,jdbcType=VARCHAR},
          cid = #{cid,jdbcType=BIGINT},
          status = #{status,jdbcType=TINYINT},
          created = #{created,jdbcType=TIMESTAMP},
          updated = #{updated,jdbcType=TIMESTAMP}
        where id = #{id,jdbcType=BIGINT}
      </update>
    </mapper>
    View Code

    pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <parent>
        <groupId>cn.cnki</groupId>
        <artifactId>cnki-manager</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <artifactId>cnki-manager-dao</artifactId>
      <dependencies>
            <dependency>
                <groupId>cn.cnki</groupId>
                <artifactId>cnki-manager-pojo</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>
            <!-- Mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
            </dependency>
            <dependency>
                <groupId>com.github.miemiedev</groupId>
                <artifactId>mybatis-paginator</artifactId>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>3.4.2</version>
            </dependency>
            <!-- MySql -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
            <!-- 连接池 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
            </dependency>
        </dependencies>
        <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
        <build>
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                    <filtering>false</filtering>
                </resource>
            </resources>
        </build>
    </project>
    View Code

    4.cnki-manager-interface

    ItemService

    package cn.cnki.service;
    
    import cn.cnki.pojo.TbItem;
    
    
    public interface ItemService {
    
        TbItem getItemById(long itemId);
    }
    View Code

    5.cnki-manager-service

    ItemServiceImpl

    package cn.cnki.service.impl;
    
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import cn.cnki.mapper.TbItemMapper;
    import cn.cnki.pojo.TbItem;
    import cn.cnki.pojo.TbItemExample;
    import cn.cnki.pojo.TbItemExample.Criteria;
    import cn.cnki.service.ItemService;
    
    @Service
    public class ItemServiceImpl implements ItemService {
    
        @Autowired
        private TbItemMapper itemMapper;
        
        @Override
        public TbItem getItemById(long itemId) {
            //根据主键查询
            //TbItem tbItem = itemMapper.selectByPrimaryKey(itemId);
            TbItemExample example = new TbItemExample();
            Criteria criteria = example.createCriteria();
            //设置查询条件
            criteria.andIdEqualTo(itemId);
            //执行查询
            List<TbItem> list = itemMapper.selectByExample(example);
            if (list != null && list.size() > 0) {
                return list.get(0);
            }
            return null;
        }
    
    }
    View Code

    6.cnki-manager-web

    ItemController

    package cn.cnki.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    
    import cn.cnki.pojo.TbItem;
    import cn.cnki.service.ItemService;
    
    
    @Controller
    public class ItemController {
    
        @Autowired
        private ItemService itemService;
        
        @RequestMapping("/item/{itemId}")
        @ResponseBody
        public TbItem getItemById(@PathVariable Long itemId) {
            TbItem tbItem = itemService.getItemById(itemId);
            return tbItem;
        }
        
    }
    View Code

    7.重新运行cnki-manager

      http://localhost:8080/item/536563

  • 相关阅读:
    理解RabbitMQ中的AMQP-0-9-1模型
    深入分析Java反射(八)-优化反射调用性能
    一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式
    Java equals 和 hashCode 的这几个问题可以说明白吗?
    如何妙用Spring 数据绑定机制?
    Lombok 使用详解,简化Java编程
    Java升级那么快,多个版本如何灵活切换和管理?
    手把手教你定制标准Spring Boot starter,真的很清晰
    Java12 Collectors.teeing 你需要了解一下
    Maven optional关键字透彻图解
  • 原文地址:https://www.cnblogs.com/cnki/p/7554549.html
Copyright © 2011-2022 走看看