As third-party vendors fail to deliver real-time data on time, they need to import some real-time data purely manually for statistical analysis. Just recently I learned the MyBatis. So use MyBatis to configure a Select.insert simple action statement that is used to fill in real-time data.
Business Table
Ems_standard_formularelation "Configuration table, mainly provides real-time table Unitid,mediaid,standardid"
Ems_standardruntime_hour "Live Table"
Preparatory work
Database I'm using SQL Server, R2.
1. Import the required jar packages in Lib
2. Add the jar package in the referenced Libraries.
3. configuring config file for MyBatis
<?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> <!--mybatis configuration for SQL Server - <typealiases> <!--define JavaBean - <Typealiasalias= "Formularelation"type= "Com.authority.model.Ems_Standard_FormulaRelation"/> <Typealiasalias= "Runtimehour"type= "Com.authority.model.Ems_StandardRuntime_Hour"/> </typealiases> <Environmentsdefault= "Development"> <EnvironmentID= "Development"> <TransactionManagertype= "JDBC"/> <DataSourcetype= "Pooled"> < Propertyname= "Driver"value= "Com.microsoft.sqlserver.jdbc.SQLServerDriver"/> < Propertyname= "url"value= "Jdbc:sqlserver://10.18.14.221:1433;databasename=icpsystem"/> < Propertyname= "username"value= "sa"/> < Propertyname= "Password"value= "3333"/> </DataSource> </Environment> </Environments> <!--define the file path of the configuration SQL XML - <mappers> <MapperResource= "Com/authority/mapper/formularelation.xml"/> <MapperResource= "Com/authority/mapper/runtimehour.xml"/> </mappers> </Configuration>
4. Bean file
Ems_standard_formularelation:
Package Com.authority.model;public class Ems_standard_formularelation {private int id;private int standardid;private String Unitid;private string Mediaid;private string formulaid;private string FormulaText; @Overridepublic string ToString () {return "ems_standard_formularelation [id=" + ID + ", standardid=" + Standardid + ", unitid=" + unitid+ ", Medi Aid= "+ MediaID +", formulaid= "+ Formulaid +", formulatext= "+ FormulaText +"] ";} public int getId () {return ID;} public void setId (int id) {this.id = ID;} public int Getstandardid () {return standardid;} public void Setstandardid (int standardid) {this.standardid = Standardid;} Public String Getunitid () {return unitid;} public void Setunitid (String unitid) {this.unitid = Unitid;} Public String Getmediaid () {return mediaid;} public void Setmediaid (String mediaid) {this.mediaid = MediaID;} Public String Getformulaid () {return formulaid;} public void Setformulaid (String formulaid) {this.formulaid = Formulaid;} Public String Getformulatext () {return forMulatext;} public void Setformulatext (String formulatext) {this.formulatext = FormulaText;}}
Ems_standardruntime_hour:
PackageCom.authority.model; Public classEms_standardruntime_hour {Private intID; Private intStandardid; PrivateString Unitid; PrivateString Formulavalue; PublicString Getformulavalue () {returnFormulavalue; } Public voidSetformulavalue (String formulavalue) { This. Formulavalue =Formulavalue; } Public intgetId () {returnID; } Public voidSetId (intID) { This. ID =ID; } Public intGetstandardid () {returnStandardid; } Public voidSetstandardid (intStandardid) { This. Standardid =Standardid; } PublicString Getunitid () {returnUnitid; } Public voidSetunitid (String unitid) { This. Unitid =Unitid; } PublicString Getmediaid () {returnMediaID; } Public voidSetmediaid (String mediaid) { This. MediaID =MediaID; } PublicString Getcaculatetime () {returnCaculatetime; } Public voidsetcaculatetime (String caculatetime) { This. Caculatetime =Caculatetime; } PublicDouble Getcaculatevalue () {returnCaculatevalue; } Public voidSetcaculatevalue (Double caculatevalue) { This. Caculatevalue =Caculatevalue; } Public intGetsortindex () {returnSortIndex; } Public voidSetsortindex (intSortIndex) { This. SortIndex =SortIndex; } PrivateString MediaID; PrivateString Caculatetime; PrivateDouble Caculatevalue; Private intSortIndex;}
5. Configuring SQL XML files
<?XML version= "1.0" encoding= "UTF-8"?><!DOCTYPE mapperpublic "-//mybatis.org//dtd Mapper 3.0//en" "Http://mybatis.org/dtd/mybatis-3-mapper.dtd "><Mappernamespace= "Com.authority.model"> <SelectID= "Getformula"Resulttype= "Com.authority.model.Ems_Standard_FormulaRelation">SELECT * from Ems_standard_formularelation</Select></Mapper>
<?XML version= "1.0" encoding= "UTF-8"?><!DOCTYPE mapperpublic "-//mybatis.org//dtd Mapper 3.0//en" "Http://mybatis.org/dtd/mybatis-3-mapper.dtd "><Mappernamespace= "Com.authority.model"> <InsertID= "Insertruntime"ParameterType= "Com.authority.model.Ems_StandardRuntime_Hour">INSERT INTO Ems_standardruntime_hour (Standardid,unitid,mediaid,formulavalue, Caculatevalue,caculatetim E,sortindex) VALUES (#{standardid},#{unitid},#{mediaid}, #{formulavalue},#{caculatevalue},#{caculatetime},#{ SortIndex})</Insert></Mapper>
6, Main method. For submitting
Package Com.authority.connection;import Java.io.ioexception;import Java.io.reader;import Java.text.simpledateformat;import Java.util.calendar;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 Com.authority.model.ems_standardruntime_hour;import Com.authority.model.ems_standard_formularelation;public class DataAccess {public static void main (string[] args) Throws IOException {SimpleDateFormat df = new SimpleDateFormat ("Yyyy-mm-dd hh:00:00"); String resource = "config + +"; Reader reader = Resources.getresourceasreader (Resource); Sqlsessionfactory sessionfactory = new Sqlsessionfactorybuilder (). build (reader); sqlsession session = Sessionfactory.opensession (); String SQLStatement = "Com.authority.mapper.formulaRelation.getFormula"; String insertstatement = "Com.authority.mapper.runtimeHour.insertRuntime"; @SuppressWarnings ("UNCHecked ") list<ems_standard_formularelation> relationlist = Session.selectlist (sqlStatement);// The date object of the singleton Calendar CLD = Calendar.getinstance ();//The time unit of the statistic data is hourly. This interval is the 10 data for (int i = 0; i < * 365 *; i++) {//each cycle will be the current time of the hour +1cld.set (Calendar.hour, Cld.get (calendar.hour) +1); fo R (ems_standard_formularelation obj:relationlist) {Ems_standardruntime_hour runtime = new Ems_standardruntime_hour (); Runtime.setcaculatetime (Df.format (Cld.gettime ())); Runtime.setcaculatevalue (Math.random ()); Runtime.setMediaId ( Obj.getmediaid ()); Runtime.setstandardid (Obj.getstandardid ()); Runtime.setunitid (Obj.getunitid ()); Runtime.setstandardid (Obj.getstandardid ()); Runtime.setformulavalue (Obj.getformulaid ()); int m = Session.insert ( Insertstatement, runtime); System.out.println (M);}} Session.commit ();}}
Session.commit, I must add this sentence during the test. Doing so will cause the data table to be empty. Concrete implementation principle. Still need to look at the source. But MyBatis does have a lot of flexibility than hibernate. Personally, I prefer a more intuitive SQL statement.
MyBatis Study Notes (3)--using MyBatis to fill false data