应该比较让人关心的还有一个就是数据存储的问题了。
下面将会介绍连接数据库的相关内容
使用的是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
上面的代码在码云上 https://gitee.com/lizhaoandroid/JgServer
可以加qq群一起探讨Java游戏服务器开发的相关知识 676231564