# Avalon-DB-Mybatis **Repository Path**: codeborker/Avalon-DB-Mybatis ## Basic Information - **Project Name**: Avalon-DB-Mybatis - **Description**: Avalon数据库插件Mybatis - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2016-03-17 - **Last Updated**: 2022-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #Avalon-DB-Mybatis Avalon 框架下的Mysql数据服务插件 使用通用的Mybatis作为持久化框架,借助ormlite部分功能注解实体对象和创建表结构(可选) ``` //数据库驱动相关 com.avalon.db.driver=com.mysql.jdbc.Driver com.avalon.db.url=jdbc:mysql://127.0.0.1:3306/avalon com.avalon.db.username=root com.avalon.db.password= //连接池配置 com.avalon.db.e.minpoolsize=5 com.avalon.db.e.acquireincrement=5 com.avalon.db.e.maxpoolsize=20 //部署启动的jar位置 com.avalon.db.gamejar.path=./deploy/game.jar //调试模式 持久化实体类所在位置 com.avalon.db.debug.path=./bin/com/example/db //调试模式 持久化实体类所在包位置 com.avalon.db.debug.package=com.example.db //调试模式 持久化实体类Mapper接口文件所在位置 com.avalon.db.debug.mybatis.path=./bin/com/example/db/example //调试模式 持久化实体类Mapper接口文件所在包 com.avalon.db.debug.mybatis.package=com.example.db.example //调试模式 持久化实体类Mapper接口XML文件所在位置 com.avalon.db.debug.mybatis.xmlpath=./resource/db ``` 使用事例 ``` package com.example.db; import com.avalon.db.api.ManagedObject; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(tableName = "account" ) public class Account implements ManagedObject { @Override public long getId() { return pid; } @DatabaseField(id = true) private long pid; @DatabaseField(unique = true, index = true) private String name; @DatabaseField private String password; @DatabaseField private long playerId; public void setId(long id) { this.pid = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public void setPid(long pid) { this.pid = pid; } public long getPlayerId() { return playerId; } public void setPlayerId(long playerId) { this.playerId = playerId; } } ``` AppListener的实现类,initialize函数添加 ``` MybatisDataManagerImpl dataManagerImpl=new MybatisDataManagerImpl(propertiesWrapper); dataManagerImpl.init(propertiesWrapper); AppContext.setManager(dataManagerImpl); MyBatisDataManager manager = AppContext.getManager(MyBatisDataManager.class); Account account=new Account(); account.setName("test4"); manager.createReference(account); ``` 项目中Util使用 Util是辅助生成相关数据库配置文件和mapper ![输入图片说明](http://git.oschina.net/uploads/images/2016/0317/185753_4f5da454_19059.png "在这里输入图片标题") FreeMakerTemplate目录下放置对应模板,可以根据自己需求修改 ![输入图片说明](http://git.oschina.net/uploads/images/2016/0317/185907_ed93c6c2_19059.png "在这里输入图片标题") 相关生成数据库的配置类 ![输入图片说明](http://git.oschina.net/uploads/images/2016/0317/185957_000754ad_19059.png "在这里输入图片标题")