本帖最后由 魁魅 于 2017-2-7 15:25 编辑
问题是这样的_(:зゝ∠)_ 我写了个插件功能大概就是玩家加入服务器的时候会检测他有没有选择过性别如果没有的话会跳出GUI让玩家选择性别
然后我的数据是存储在mysql里面的所以就用到了sqlibrary
_(:зゝ∠)_经过一番努力后我知道了怎么用sqlibrary但是到查询玩家的时候就又卡主了
_(:зゝ∠)_因为首先我需要根据UUID来查询这个玩家并且我需要查询这个玩家的SEX值是多少
_(:зゝ∠)_然而sqlibrary的模板里面只有怎么查询单个的没有怎么查询多个的复制代码_(:зゝ∠)_经过研究已解决该问题
_(:зゝ∠)_留下解决后代码以供后人学习
复制代码
如果后人有相关方面的问题可以私信我一起解决
问题是这样的_(:зゝ∠)_ 我写了个插件功能大概就是玩家加入服务器的时候会检测他有没有选择过性别如果没有的话会跳出GUI让玩家选择性别
然后我的数据是存储在mysql里面的所以就用到了sqlibrary
_(:зゝ∠)_经过一番努力后我知道了怎么用sqlibrary但是到查询玩家的时候就又卡主了
_(:зゝ∠)_因为首先我需要根据UUID来查询这个玩家并且我需要查询这个玩家的SEX值是多少
_(:зゝ∠)_然而sqlibrary的模板里面只有怎么查询单个的没有怎么查询多个的
- @EventHandler
- public void playerJoinEvent(PlayerJoinEvent event) {
- Player player =Bukkit.getPlayer(event.getPlayer().getName());
- Condition condition = Condition.fieldEquals("player_uuid", player.getUniqueId(),
- gouPlayerFactory.getInstance().getProfile());
- List<gouPlayerModel> models = gouPlayerFactory.getInstance().select(condition);
- if (models == null) {
- //ERROR
- return;
- }
- if (models.size() < 1) {
- System.out.println("null");
- return;
- }
- gouPlayerModel tomModel = models.get(0);
- System.out.println(tomModel);
- if (!event.getPlayer().hasPlayedBefore()) {
- //显示GUI
- //没有加入过服务器
- System.out.println("join");
- }
- }
_(:зゝ∠)_留下解决后代码以供后人学习
- @EventHandler
- public void playerJoinEvent(PlayerJoinEvent event) {
- Player player =Bukkit.getPlayer(event.getPlayer().getName());
- Condition selectuuid = Condition.fieldEquals("player_uuid", player.getUniqueId(),
- gouPlayerFactory.getInstance().getProfile());
- Condition selectsex=Condition.fieldEquals("player_sex",0,gouPlayerFactory.getInstance().getProfile());
- ConditionBuilder conditionBuilder=new ConditionBuilder(selectuuid).and(selectsex);
- List<gouPlayerModel> models = gouPlayerFactory.getInstance().select(conditionBuilder.build());
- if (models == null) {
- //ERROR
- return;
- }
- if (models.size() < 1) {
- System.out.println("null");
- return;
- }
- gouPlayerModel tomModel = models.get(0);
- System.out.println(tomModel+"suss");
- if (!event.getPlayer().hasPlayedBefore()) {
- System.out.println("join");
- }
- }
如果后人有相关方面的问题可以私信我一起解决
本帖最后由 星燚 于 2017-2-7 11:20 编辑
为什么不直接用sql语句对mysql数据库进行操作。。
sql语句还是要学的
那个轮子难免有不全的地方
SELECT * FROM tablename WHERE indexUUID = 'uuid';
然后while循环把返回的ResultSet遍历
然后然后再getInt sex的index返回性别
为什么不直接用sql语句对mysql数据库进行操作。。
sql语句还是要学的
那个轮子难免有不全的地方
SELECT * FROM tablename WHERE indexUUID = 'uuid';
然后while循环把返回的ResultSet遍历
然后然后再getInt sex的index返回性别
不是jdbc吗
星燚 发表于 2017-2-7 11:11
为什么不直接用sql语句对mysql数据库进行操作。。
sql语句还是要学的
那个轮子难免有不全的地方
这样怕是要被sql注入哦,参数化操作数据库才是出路
xiweihai 发表于 2017-3-4 02:25
这样怕是要被sql注入哦,参数化操作数据库才是出路
里面只有uuid是变量,难不成uuid还是玩家能改的吗- -
难道他的程序就这一个sql语句?
565555555555555555555