Java游戏服务器开发之十二--数据库连接整合mybatis

应该比较让人关心的还有一个就是数据存储的问题了。
  下面将会介绍连接数据库的相关内容
  使用的是mysql数据库,框架中将使用mybatis
  这里介绍时假设各位都使用或者了解过mysql。

  

    1.在pom中添加相关包

 2.创建数据库和表

  3.创建映射实体类entity与数据库操作对象Dao
  4.创建映射文件mapper.xml
  5.在spring中配置mybatis
 6.调用Dao进行测试
  

 1.在pom中添加相关包  

    
    
      org.mybatis
      mybatis
      3.3.0
    
    
      org.mybatis
      mybatis-spring
      1.2.3
    
    
      org.mybatis.caches
      mybatis-ehcache
      1.0.3
    
    
      org.hibernate.javax.persistence
      hibernate-jpa-2.1-api
      1.0.0.Final
    
    
    
      mysql
      mysql-connector-java
      5.1.38
    
    
    
      com.alibaba
      druid
      1.0.16
    


  2.创建数据库和表
创建jg_server,选择utf8的编码
创建user表,里面就是个字段,id/name/account/password
插入一条测试数据

 

具体的sql语句如下

 

        

/*
SQLyog 企业版 - MySQL GUI v8.14 
MySQL - 5.6.26-log : Database - jg_server
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`jg_server` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `jg_server`;

/*Table structure for table `user` */

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(128) DEFAULT '-',
  `account` varchar(32) DEFAULT '-',
  `password` varchar(32) DEFAULT '-',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 CHECKSUM=1 ROW_FORMAT=DYNAMIC;

/*Data for the table `user` */

insert  into `user`(`id`,`name`,`account`,`password`) values (1,'2','3','4');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

 

 

 3.创建映射实体类entity与数据库操作对象Dao
与user表对应,类名使用User,别名也使用这个

 

 

UserDao里面就写一个方法,获取全部的表数据

 

 

User

        

/*
 * Copyright (C), 2015-2018
 * FileName: User
 * Author:   zhao
 * Date:     2018/6/28 14:31
 * Description: 用户表
 * History:
 *           

 

        UserDao

 

/*
 * Copyright (C), 2015-2018
 * FileName: UserDao
 * Author:   zhao
 * Date:     2018/6/28 14:37
 * Description: User表数据处理
 * History:
 *           


  5.创建映射文件mapper.xml
我们直接使用 类名.xml的方式,然后写一个resultMap
resources--mybatis--jpa中添加User.xml

 




  
  
    
    
    
    
  



  4.spring中配置mybatis
在resources--mybatis中添加一个mybatis-config.xml
数据库连接池的配置,在resources--properties添加db-config-dev.properties

 

在ApplicationContext.xml的同级目录添加一个ApplicationContext-mysql.xml

 

        修改ApplicationContext.xml

 

 

mybatis-config.xml




  
    
    
  

 

db-config-dev.properties

 

mysql.url:jdbc:mysql://localhost:3306/jg_server?useUnicode=true&characterEncoding=UTF-8
mysql.driverClassName:com.mysql.jdbc.Driver
#mysql.username:root
#mysql.password:admin
mysql.username:adminjg
mysql.password:admin666


filters:stat

maxActive:20
initialSize:1
maxWait:60000
minIdle:10
maxIdle:15

timeBetweenEvictionRunsMillis:60000
minEvictableIdleTimeMillis:300000

validationQuery:SELECT 'x'
testWhileIdle:true
testOnBorrow:false
testOnReturn:false

maxOpenPreparedStatements:20
removeAbandoned:true
removeAbandonedTimeout:1800
logAbandoned:true


ApplicationContext-mysql.xml




    
        
        
    

    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
        
        
    

    
        
        
    


        修改ApplicationContext.xml

 


  
  
    
      
        classpath:properties/server-config-dev.properties
        classpath:properties/db-config-dev.properties
      
    
  


  6.调用Dao进行测试
在handler里面注入UserDao,然后调用list方法
@Autowired
private UserDao userDao;
 

 

    List myAll = userDao.listUser();

 


上面的代码在码云上 https://gitee.com/lizhaoandroid/JgServer
可以加qq群一起探讨Java游戏服务器开发的相关知识 676231564

 

 

你可能感兴趣的:(java,java游戏服务器开发,mybatis,Java游戏服务器开发)