移动大脑-SpringMVc搭建RestFul后台服务(二)-配置mysql数据库

314 阅读8分钟
原文链接: blog.csdn.net

        在上一篇博客移动大脑-SpringMVc搭建RestFul后台服务(一)中已经搭建好了开发环境,接下来增加Mysql数据库的配置。

一、安装mysql

在mysql官网(https://dev.mysql.com/downloads/mysql/)下载对应的Mysql版本,然后初始化和配置Mysql并修改登录密码(http://blog.csdn.net/ywl5320/article/details/77847878

并创建好我们需要的数据库:app_service_db

二、接着上次的项目,在maven中添加hibernate和jdbc驱动库

在pom.xml中追加:

  1. <!-- 关系型数据库整合时需配置 如hibernate jpa等 -->  
  2.         <dependency>  
  3.             <groupId>org.springframework</ groupId>  
  4.             <artifactId>spring-orm</ artifactId>  
  5.             <version>${spring.version}</ version>  
  6.         </dependency>  
  7.   
  8.         <!-- hibernate -->  
  9.         <dependency>  
  10.             <groupId>org.hibernate</ groupId>  
  11.             <artifactId>hibernate-core</ artifactId>  
  12.             <version>${hibernate.version}</ version>  
  13.         </dependency>  
  14.   
  15.         <dependency>  
  16.             <groupId>org.hibernate</ groupId>  
  17.             <artifactId>hibernate-ehcache</ artifactId>  
  18.             <version>${hibernate.version}</ version>  
  19.         </dependency>  
  20.   
  21.         <dependency>  
  22.             <groupId>org.hibernate.javax.persistence </groupId>  
  23.             <artifactId>hibernate-jpa-2.1-api</ artifactId>  
  24.             <version>1.0.0.Final</ version>  
  25.         </dependency>  
  26.   
  27.         <!-- mysql连接 -->  
  28.         <dependency>  
  29.             <groupId>mysql</ groupId>  
  30.             <artifactId>mysql-connector-java</ artifactId>  
  31.             <version>5.1.34</ version>  
  32.         </dependency>  
  33.   
  34.         <!-- tomcat-jdbc-->  
  35.         <dependency>  
  36.             <groupId>org.apache.tomcat</ groupId>  
  37.             <artifactId>tomcat-jdbc</ artifactId>  
  38.             <version>8.0.33</ version>  
  39.         </dependency>  
  40.   
  41.         <dependency>  
  42.             <groupId>com.mchange</ groupId>  
  43.             <artifactId>c3p0</ artifactId>  
  44.             <version>0.9.5-pre8</ version>  
  45.         </dependency>  
<!-- 关系型数据库整合时需配置 如hibernate jpa等 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-ehcache</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>1.0.0.Final</version>
        </dependency>

        <!-- mysql连接 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.34</version>
        </dependency>

        <!-- tomcat-jdbc-->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
            <version>8.0.33</version>
        </dependency>

        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5-pre8</version>
        </dependency>

然后导入相应的库:


三、添加实体类(也既数据库t_user表)

1、UserBean.java

  1. package com.ywl5320.appservice.bean;  
  2.   
  3.   
  4. /** 
  5.  * Created by ywl5320 on 2017/10/12. 
  6.  */  
  7. public class UserBean extends BaseBean{  
  8.   
  9.     private Integer id;  
  10.     private String phone;  
  11.     private String password;  
  12.     private String username;  
  13.     private Integer sex;  
  14.     private Integer age;  
  15.     private String token;  
  16.   
  17.     public Integer getId() {  
  18.         return id;  
  19.     }  
  20.   
  21.     public void setId(Integer id) {  
  22.         this.id = id;  
  23.     }  
  24.   
  25.     public String getPhone() {  
  26.         return phone;  
  27.     }  
  28.   
  29.     public void setPhone(String phone) {  
  30.         this.phone = phone;  
  31.     }  
  32.   
  33.     public String getUsername() {  
  34.         return username;  
  35.     }  
  36.   
  37.     public void setUsername(String username) {  
  38.         this.username = username;  
  39.     }  
  40.   
  41.     public String getPassword() {  
  42.         return password;  
  43.     }  
  44.   
  45.     public void setPassword(String password) {  
  46.         this.password = password;  
  47.     }  
  48.   
  49.     public Integer getSex() {  
  50.         return sex;  
  51.     }  
  52.   
  53.     public void setSex(Integer sex) {  
  54.         this.sex = sex;  
  55.     }  
  56.   
  57.     public Integer getAge() {  
  58.         return age;  
  59.     }  
  60.   
  61.     public void setAge(Integer age) {  
  62.         this.age = age;  
  63.     }  
  64.   
  65.     public String getToken() {  
  66.         return token;  
  67.     }  
  68.   
  69.     public void setToken(String token) {  
  70.         this.token = token;  
  71.     }  
  72. }  
package com.ywl5320.appservice.bean;


/**
 * Created by ywl5320 on 2017/10/12.
 */
public class UserBean extends BaseBean{

    private Integer id;
    private String phone;
    private String password;
    private String username;
    private Integer sex;
    private Integer age;
    private String token;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }
}
2、在resource中添加创建数据库表的配置文件:
  1. <?xml version="1.0" encoding= "UTF-8"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC  
  3.         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  4.         "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">  
  5. <hibernate-mapping>  
  6.     <class name="com.ywl5320.appservice.bean.UserBean"  table="t_user">  
  7.         <id name="id"  column="id">  
  8.             <generator class= "native"></generator>  
  9.         </id>  
  10.         <property name="phone"  column="phone"></property>  
  11.         <property name="password"  column="password"></property>  
  12.         <property name="username"  column="username"></property>  
  13.         <property name="sex"  column="sex"></property>  
  14.         <property name="age"  column="age"></property>  
  15.     </class>  
  16.   
  17. </hibernate-mapping>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.ywl5320.appservice.bean.UserBean" table="t_user">
        <id name="id" column="id">
            <generator class="native"></generator>
        </id>
        <property name="phone" column="phone"></property>
        <property name="password" column="password"></property>
        <property name="username" column="username"></property>
        <property name="sex" column="sex"></property>
        <property name="age" column="age"></property>
    </class>

</hibernate-mapping>
这样启动服务时就会自动创建用户表“t_user”
四、添加hibernate核心配置文件,并引入数据库表的配置

hibernate.cfg.xml:

  1. <?xml version="1.0" encoding= "UTF-8"?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC     
  3.           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"     
  4.           "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">  
  5. <hibernate-configuration>  
  6.   
  7.     <session-factory>  
  8.   
  9.         <property name="hibernate.show_sql" >true</property>  
  10.         <property name="hibernate.format_sql" >true</property>  
  11.         <property name="hibernate.hbm2ddl.auto" >update</property>  
  12.         <property name="hibernate.dialet" >org.hibernate.dialect.MySQLDialect</property>  
  13.           
  14.         <mapping resource="entitis.hbm.xml" />  
  15.           
  16.     </session-factory>  
  17.   
  18. </hibernate-configuration>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC   
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"   
          "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>

	<session-factory>

		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>
		<property name="hibernate.hbm2ddl.auto">update</property>
		<property name="hibernate.dialet">org.hibernate.dialect.MySQLDialect</property>
		
		<mapping resource="entitis.hbm.xml"/>
		
	</session-factory>

</hibernate-configuration>
五、在beans.xml中配置c3p0链接池、配置sessionFactory和配置事物管理器
  1. <!-- 配置c3p0链接池 -->  
  2.     <bean id="dataSource"  class="com.mchange.v2.c3p0.ComboPooledDataSource">  
  3.         <property name="driverClass"  value="com.mysql.jdbc.Driver"></property>  
  4.         <property name="jdbcUrl"  value="jdbc:mysql:///app_server_db"></property>  
  5.         <property name="user"  value="root"></property>  
  6.         <property name="password"  value="123456"></property>  
  7.     </bean>  
  8.   
  9.     <!-- 配置sessionFactory -->  
  10.     <bean id="sessionFactory"  class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">  
  11.         <property name="dataSource"  ref="dataSource"></property>  
  12.         <property name="configLocations"  value="classpath:hibernate.cfg.xml"></property>  
  13.     </bean>  
  14.   
  15.     <!-- 配置事物管理器 -->  
  16.     <bean id="transactionManager"  class="org.springframework.orm.hibernate5.HibernateTransactionManager">  
  17.         <property name="sessionFactory"  ref="sessionFactory"></property>  
  18.     </bean>  
  19.      <!--开启事物注解 -->  
  20.     <tx:annotation-driven transaction-manager="transactionManager" />  
<!-- 配置c3p0链接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql:///app_server_db"></property>
        <property name="user" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>

    <!-- 配置sessionFactory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="configLocations" value="classpath:hibernate.cfg.xml"></property>
    </bean>

    <!-- 配置事物管理器 -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
     <!--开启事物注解 -->
    <tx:annotation-driven transaction-manager="transactionManager"/>
六、配置好后,启动服务,就可以在数据库app_service_db中看到我们创建好的t_user表了

这样mysql数据库就已经成功配置完成。下一篇博客将完成用户注册、登录的RestFul接口给移动端调用。

源码:GitHub AppServiceRestFul