美文网首页
SpringMVC_CRM系统_配置数据库2

SpringMVC_CRM系统_配置数据库2

作者: 大鹏_xzlp | 来源:发表于2017-10-15 13:05 被阅读0次

    数据库结构和建表语句我放在文章末尾了,下面我们开始配置数据库

    1. 在resources目录下新建 db.properties
    jdbc.jdbcUrl=jdbc:mysql://localhost:3306/springmvc_crm 
    jdbc.driverClass=com.mysql.jdbc.Driver
    jdbc.user=root
    jdbc.password=123456
    

    2.在resources目录下新建 SqlMappingConfig.xml文件,配置Mybatis的映射

    <?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>
    
        <!-- 包的别名 -->
        <typeAliases>
            <package name="com.spring.crm.pojo"/>
        </typeAliases>
    
        <!-- 将xml和dao接口使用相同的名字,放到同一目录下 -->
        <mappers>
            <package name="com.spring.crm.dao"></package>
        </mappers>
    </configuration>
    
    1. 新建一个applicationContext-dao.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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
    
        <context:property-placeholder location="classpath:db.properties"/>
    
        <!-- 事务核心管理器,封装了所有实务操作 -->
        <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"/>
        </bean>
    
        <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
    
    
        <!-- 1.将连接池放入spring容器-->
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
              destroy-method="close">
            <property name="driverClassName" value="${jdbc.driverClass}" />
            <property name="url" value="${jdbc.jdbcUrl}" />
            <property name="username" value="${jdbc.user}" />
            <property name="password" value="${jdbc.password}" />
            <property name="maxActive" value="10" />
            <property name="maxIdle" value="5" />
        </bean>
    
        <!-- MyBatis工厂-->
        <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <property name="configLocation" value="classpath:SqlMappingConfig.xml"/>
        </bean>
    
        <!-- Mapper动态代理开发增强版扫描-->
        <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="com.spring.crm.dao"/>
        </bean>
    </beans>
    
    1. 我们在pojo包下新建一个BaseDict,内部字段和数据库保持一致
    package com.spring.crm.pojo;
    
    public class BaseDict {
        private String dict_id;
        private String dict_type_code;
        private String dict_type_name;
        private String dict_item_name;
        private String dict_item_code;
        private Integer dict_sort;
        private String dict_enable;
        private String dict_memo;
    
        public String getDict_id() {
            return dict_id;
        }
    
        public void setDict_id(String dict_id) {
            this.dict_id = dict_id;
        }
    
        public String getDict_type_code() {
            return dict_type_code;
        }
    
        public void setDict_type_code(String dict_type_code) {
            this.dict_type_code = dict_type_code;
        }
    
        public String getDict_type_name() {
            return dict_type_name;
        }
    
        public void setDict_type_name(String dict_type_name) {
            this.dict_type_name = dict_type_name;
        }
    
        public String getDict_item_name() {
            return dict_item_name;
        }
    
        public void setDict_item_name(String dict_item_name) {
            this.dict_item_name = dict_item_name;
        }
    
        public String getDict_item_code() {
            return dict_item_code;
        }
    
        public void setDict_item_code(String dict_item_code) {
            this.dict_item_code = dict_item_code;
        }
    
        public Integer getDict_sort() {
            return dict_sort;
        }
    
        public void setDict_sort(Integer dict_sort) {
            this.dict_sort = dict_sort;
        }
    
        public String getDict_enable() {
            return dict_enable;
        }
    
        public void setDict_enable(String dict_enable) {
            this.dict_enable = dict_enable;
        }
    
        public String getDict_memo() {
            return dict_memo;
        }
    
        public void setDict_memo(String dict_memo) {
            this.dict_memo = dict_memo;
        }
    }
    
    
    1. 在dao包下新建BaseDictDao.java
    package com.spring.crm.dao;
    
    import com.spring.crm.pojo.BaseDict;
    
    import java.util.List;
    @Repository
    public interface BaseDictDao {
        /**
         * 根据类别代码查询数据
         *
         * @param dictTypeCode
         * @return
         */
    
        List<BaseDict> queryBaseDictByDictTypeCode(String dictTypeCode);
    }
    
    1. 同目录下新建BaseDictDao.xml 配置查询语句,这里要特别注意namespace不要配置错了
    <?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="com.spring.crm.dao.BaseDictDao">
           <select id="queryBaseDictByDictTypeCode" parameterType="String" resultType="BaseDict">
            SELECT * FROM base_dict WHERE dict_type_code =
            #{dict_type_code}
        </select>
    </mapper>
    
    1. 为了解析json数据,我们引用json解析的配置,在applicationContext.xml中添加以下代码
        <mvc:annotation-driven>
            <mvc:message-converters>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name = "supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>
                            <value>application/json;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
                <!-- json转换器 -->
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>
                            <value>application/json;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </mvc:message-converters>
        </mvc:annotation-driven>
    
    1. 测试
    @Controller
    public class MainController {
        @Autowired
        BaseDictDao baseDictDao;
    
        @RequestMapping("/index")
        @ResponseBody
        public String index(){
            return "index";
        }
    
        @RequestMapping("/queryById/{dictTypeCode}")
        @ResponseBody
        List<BaseDict> queryBaseDictByDictTypeCode(@PathVariable String dictTypeCode){
            List<BaseDict> list = baseDictDao.queryBaseDictByDictTypeCode(dictTypeCode);
            System.out.println(list);
            return list;
        }
    }
    
    1. 访问 http://localhost:8080/queryById/001 ,页面显示

    总结

    数据库配置完毕,接下来我们开始进入配置页面了。

    本系列源码存放在github上 源码

    附件:数据库建表语句

    
    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    -- Table structure for base_dict
    -- ----------------------------
    DROP TABLE IF EXISTS `base_dict`;
    CREATE TABLE `base_dict` (
      `dict_id` varchar(32) NOT NULL COMMENT '数据字典id(主键)',
      `dict_type_code` varchar(10) NOT NULL COMMENT '数据字典类别代码',
      `dict_type_name` varchar(64) NOT NULL COMMENT '数据字典类别名称',
      `dict_item_name` varchar(64) NOT NULL COMMENT '数据字典项目名称',
      `dict_item_code` varchar(10) DEFAULT NULL COMMENT '数据字典项目代码(可为空)',
      `dict_sort` int(10) DEFAULT NULL COMMENT '排序字段',
      `dict_enable` char(1) NOT NULL COMMENT '1:使用 0:停用',
      `dict_memo` varchar(64) DEFAULT NULL COMMENT '备注',
      PRIMARY KEY (`dict_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of base_dict
    -- ----------------------------
    INSERT INTO `base_dict` VALUES ('1', '001', '客户行业', '教育培训 ', null, '1', '1', null);
    INSERT INTO `base_dict` VALUES ('10', '003', '公司性质', '民企', null, '3', '1', null);
    INSERT INTO `base_dict` VALUES ('12', '004', '年营业额', '1-10万', null, '1', '1', null);
    INSERT INTO `base_dict` VALUES ('13', '004', '年营业额', '10-20万', null, '2', '1', null);
    INSERT INTO `base_dict` VALUES ('14', '004', '年营业额', '20-50万', null, '3', '1', null);
    INSERT INTO `base_dict` VALUES ('15', '004', '年营业额', '50-100万', null, '4', '1', null);
    INSERT INTO `base_dict` VALUES ('16', '004', '年营业额', '100-500万', null, '5', '1', null);
    INSERT INTO `base_dict` VALUES ('17', '004', '年营业额', '500-1000万', null, '6', '1', null);
    INSERT INTO `base_dict` VALUES ('18', '005', '客户状态', '基础客户', null, '1', '1', null);
    INSERT INTO `base_dict` VALUES ('19', '005', '客户状态', '潜在客户', null, '2', '1', null);
    INSERT INTO `base_dict` VALUES ('2', '001', '客户行业', '电子商务', null, '2', '1', null);
    INSERT INTO `base_dict` VALUES ('20', '005', '客户状态', '成功客户', null, '3', '1', null);
    INSERT INTO `base_dict` VALUES ('21', '005', '客户状态', '无效客户', null, '4', '1', null);
    INSERT INTO `base_dict` VALUES ('22', '006', '客户级别', '普通客户', null, '1', '1', null);
    INSERT INTO `base_dict` VALUES ('23', '006', '客户级别', 'VIP客户', null, '2', '1', null);
    INSERT INTO `base_dict` VALUES ('24', '007', '商机状态', '意向客户', null, '1', '1', null);
    INSERT INTO `base_dict` VALUES ('25', '007', '商机状态', '初步沟通', null, '2', '1', null);
    INSERT INTO `base_dict` VALUES ('26', '007', '商机状态', '深度沟通', null, '3', '1', null);
    INSERT INTO `base_dict` VALUES ('27', '007', '商机状态', '签订合同', null, '4', '1', null);
    INSERT INTO `base_dict` VALUES ('3', '001', '客户行业', '对外贸易', null, '3', '1', null);
    INSERT INTO `base_dict` VALUES ('30', '008', '商机类型', '新业务', null, '1', '1', null);
    INSERT INTO `base_dict` VALUES ('31', '008', '商机类型', '现有业务', null, '2', '1', null);
    INSERT INTO `base_dict` VALUES ('32', '009', '商机来源', '电话营销', null, '1', '1', null);
    INSERT INTO `base_dict` VALUES ('33', '009', '商机来源', '网络营销', null, '2', '1', null);
    INSERT INTO `base_dict` VALUES ('34', '009', '商机来源', '推广活动', null, '3', '1', null);
    INSERT INTO `base_dict` VALUES ('4', '001', '客户行业', '酒店旅游', null, '4', '1', null);
    INSERT INTO `base_dict` VALUES ('5', '001', '客户行业', '房地产', null, '5', '1', null);
    INSERT INTO `base_dict` VALUES ('6', '002', '客户信息来源', '电话营销', null, '1', '1', null);
    INSERT INTO `base_dict` VALUES ('7', '002', '客户信息来源', '网络营销', null, '2', '1', null);
    INSERT INTO `base_dict` VALUES ('8', '003', '公司性质', '合资', null, '1', '1', null);
    INSERT INTO `base_dict` VALUES ('9', '003', '公司性质', '国企', null, '2', '1', null);
    
    

    相关文章

      网友评论

          本文标题:SpringMVC_CRM系统_配置数据库2

          本文链接:https://www.haomeiwen.com/subject/kioquxtx.html