Signed-off-by: markma <750975972@qq.com>
master
markma 4 years ago
commit 7670366989

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Users/lenovo/.m2/repository/org/mybatis/mybatis/3.4.4/mybatis-3.4.4.jar" sourcepath="C:/Users/lenovo/.m2/repository/org/mybatis/mybatis/3.4.4/mybatis-3.4.4-sources.jar">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="maven.groupId" value="org.mybatis"/>
<attribute name="maven.artifactId" value="mybatis"/>
<attribute name="maven.version" value="3.4.4"/>
<attribute name="maven.scope" value="compile"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

1
.gitignore vendored

@ -0,0 +1 @@
/target/

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Markma-Hero-Select</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

@ -0,0 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.5

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

@ -0,0 +1,8 @@
该程序是用来筛选数据库上的武将信息。
有关该项目资料的查询https://www.wolai.com/81653LDk4k71WzqBnokQ5r?theme=light
我的其他项目资料https://www.wolai.com/k3a8LkCjN8xnEKTvKYPqum?theme=light
https://www.wolai.com/tqqpCNJ3U7jUHCPx13Qorx?theme=light

@ -0,0 +1,24 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.markma</groupId>
<artifactId>Markma-Hero-Select</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
</dependencies>
</project>

@ -0,0 +1,11 @@
import tools.ArgsHandler;
public class Main {
public static void main(String[] args)
{
ArgsHandler argsHandler = new ArgsHandler(args);
argsHandler.switchModel();
}
}

@ -0,0 +1,188 @@
package hero;
public class Hero {
final String COLORCODE = "31";
private int ID = 0,
bloodValue = 0,
attackValue = 0;
private String name = "",
weaponName = "",
birthday = "",
deathday = "",
introduction = "";
// create table books(id int primary key auto_increment,title varchar(40),author varchar(40),price int);
public Hero()
{
}
public Hero(int ID,
int bloodValue,
int attackValue,
String name,
String weaponName,
String birthday,
String deathday,
String introduction)
{
super();
this.ID = ID;
this.bloodValue = bloodValue;
this.attackValue = attackValue;
this.name = name;
this.weaponName = weaponName;
this.birthday = birthday;
this.deathday = deathday;
this.introduction = introduction;
}
public int getID()
{
return ID;
}
public void setID(int iD)
{
ID = iD;
}
public int getBloodValue()
{
return bloodValue;
}
public void setBloodValue(int bloodValue)
{
this.bloodValue = bloodValue;
}
public int getAttackValue()
{
return attackValue;
}
public void setAttackValue(int attackValue)
{
this.attackValue = attackValue;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getWeaponName()
{
return weaponName;
}
public void setWeaponName(String weaponName)
{
this.weaponName = weaponName;
}
public String getBirthday()
{
return birthday;
}
public void setBirthday(String birthday)
{
this.birthday = birthday;
}
public String getDeathday()
{
return deathday;
}
public void setDeathday(String deathday)
{
this.deathday = deathday;
}
public String getIntroduction()
{
return introduction;
}
public void setIntroduction(String introduction)
{
this.introduction = introduction;
}
@Override
public String toString()
{
return "Hero [ID=" + ID
+ ", bloodValue=" + bloodValue
+ ", attackValue=" + attackValue
+ ", name=" + name
+ ", weaponName=" + weaponName
+ ", birthday=" + birthday
+ ", deathday=" + deathday
+ ", introduction=" + introduction
+ "]";
}
public String partToString(String dividedPro[])
{
String printString = "Hero [";
printString += "name=";
printString += name;
printString += ",";
//String pro:dividedPro
for(int i = 0;i<dividedPro.length;i++)
{
String pro = dividedPro[i];
if(pro.equals("weaponName"))
{
printString += "weaponName=";
printString += weaponName;
}
if(pro.equals("birthday"))
{
printString += "birthday=";
printString += birthday;
}
if(pro.equals("deathday"))
{
printString += "deathday=";
printString += deathday;
}
if(pro.equals("introduction"))
{
printString += "introduction=";
printString += introduction;
}
if(pro.equals("ID"))
{
printString += "ID=";
printString += ID;
}
if(pro.equals("bloodValue"))
{
printString += "bloodValue=";
printString += bloodValue;
}
if(pro.equals("attackValue"))
{
printString += "attackValue=";
printString += attackValue;
}
if(i != dividedPro.length-1)
{
printString += ",";
}
}
printString += "]";
return printString;
}
}

@ -0,0 +1,35 @@
package hero;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
/*
* SQL
*/
public interface HeroMapper
{
/*int ID,
int bloodValue,
int attackValue,
String name,
String weaponName,
String birthday,
String deathday,
String introduction*/
@Insert("insert into heros(ID,bloodValue,attackValue,name,weaponName,birthday,deathday,introduction) "
+ "values(#{ID}, #{bloodValue}, #{attackValue},#{name},#{weaponName},#{birthday},#{deathday},#{introduction})")
void save(Hero b);
@Select("SELECT * FROM heros WHERE name = #{name}")
List<Hero> find(@Param("name") String name);
@Select("SELECT * FROM heros")
List<Hero> findAll();
@Delete("")
void remove(String title);
@Update("")
void update(Hero b);
}

@ -0,0 +1,27 @@
package tools;
public class ArgsDivider
{
final int MAX_NAME = 1000,MAX_PRO = 1000;
String undividedName,undividedProperties;
String dividedName[],dividedProperties[];
public ArgsDivider()
{
}
public ArgsDivider(String mainUndName,String mainUndProperties)
{
undividedName = mainUndName;
undividedProperties = mainUndProperties;
}
public void divideName()
{
dividedName = new String[MAX_NAME];
dividedName = undividedName.split(",");
}
public void dividePro()
{
dividedProperties = new String[MAX_PRO];
dividedProperties = undividedProperties.split(",");
}
}

@ -0,0 +1,78 @@
package tools;
public class ArgsHandler
{
String args[];
final String VERSION = "0.0.1";
public ArgsHandler()
{
}
public ArgsHandler(String mainArgs[])
{
args = new String[mainArgs.length];
System.arraycopy(mainArgs, 0, args, 0, mainArgs.length);
}
public void printHelp()
{
System.out.println("-s name properties 搜索模式");
System.out.println("多个name和properties用,连接 查询全部为-a");
System.out.println("properties名称:姓名name,武器weaponName,生日birthday,卒日deathday,"
+ "介绍introduction,ID ID,血量bloodValue,攻击力attackValue");
System.out.println("例: -s 刘备,曹操 ID,bloodValue");
System.out.println("例: -s -a ID");
System.out.println("-v 显示版本");
return;
}
public void switchModel()
{
switch(args.length)
{
case 0:
{
System.out.println("三国人物查找系统");
System.out.println("命令后缀名:");
printHelp();
return;
}
case 1:
{
if(args[0].equals("-v"))
{
System.out.println("version:"+VERSION);
return;
}
else
{
System.out.println("后缀名输入错误");
printHelp();
return;
}
}
case 3:
{
if(args[0].equals("-s"))
{
ArgsDivider argsDivider = new ArgsDivider(args[1],args[2]);
argsDivider.divideName();
argsDivider.dividePro();
SQLReader sqlReader = new SQLReader();
sqlReader.read(argsDivider.dividedName, argsDivider.dividedProperties);
return;
}
else
{
System.out.println("后缀名输入错误");
printHelp();
return;
}
}
default:
{
System.out.println("后缀名数目输入错误");
printHelp();
return;
}
}
}
}

@ -0,0 +1,77 @@
package tools;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import hero.Hero;
import hero.HeroMapper;
public class SQLReader
{
public SQLReader()
{
}
public void read(String [] dividedName,String [] dividedPro)
{
try
{
SqlSessionFactory factory = new SqlSessionFactoryBuilder()
.build(Resources.getResourceAsReader("tools/config.xml"));
// 一次会话
// Connection
SqlSession session = factory.openSession();
// 获得了接口的一个具体实现(实例)
// mybatis 根据注解创建了接口的实力
HeroMapper mapper = session.getMapper(HeroMapper.class);
List<Hero> heroList = new ArrayList<Hero>();
for(String name:dividedName)
{
if(name.equals("-a"))
{
heroList = mapper.findAll();
break;
}
else
{
if(mapper.find(name) != null)
{
heroList.addAll(mapper.find(name));
}
}
}
String pro = dividedPro[0];
if(pro.equals("-a"))
{
for (Hero i : heroList)
{
System.out.println(i);
}
}
else
{
for (Hero i : heroList)
{
System.out.println(i.partToString(dividedPro));
}
}
// 会话提交
session.commit();
System.out.println("查询完毕,共找到"+heroList.size()+"条结果");
}
catch (IOException e)
{
e.printStackTrace();
}
}
}

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<package name="hero"/>
</mappers>
</configuration>
Loading…
Cancel
Save