Недавно я столкнулся с проблемой в проекте: импортируйте данные в фон и вставьте данные в базу данных. Импортируемая сумма данных имеет десятки тысяч кусков данных и рассмотрим вставку данных в партиях;
Основываясь на онлайн -информации, я написал небольшую демонстрацию, и демо -адрес загрузка был прикреплен в конце статьи
1. Создайте новый проект: структура каталогов проекта показана на рисунке ниже, добавьте соответствующий пакет JAR
2. Создайте новую таблицу базы данных: Account_INFO
Создать таблицу account_info ("ID" номер (12) не нулевой, "userName" varchar2 (64 байт) NULL, «пароль» VARCHAR2 (64 байта) NULL, «Пол» Char (1 байт) NULL, «Электронная почта» VARCHAR2 (64 байт) NULL, «CREATE_DATE» дата NULL) NULL) NULL) NULL) NULL) NULL) NULL) NULL) 3. Create AccountInfo Entity Class:
пакет com.oracle.entity; import java.sql.date; public class accountInfo {private Long Id; частное имя пользователя; Private String Password; частный строковый пол; Приватная строковая электронная почта; Частная дата создана; public long getId () {return id; } public void setId (long id) {this.id = id; } public String getUsername () {return username; } public void setUsername (string username) {this.username = username; } public String getPassword () {return пароль; } public void setPassword (String password) {this.password = password; } public String getGender () {return Gender; } public void setgender (строка пол) {this.gender = gender; } public String getEmail () {return Email; } public void setEmail (string email) {this.email = email; } public date getCreatedAte () {return cantureTate; } public void setCreatedAte (дата создан) {this.createdate = censueTate; } @Override public String toString () {return "accountInfo [id =" + id + ", username =" + username + ", password =" + password + ", gender =" + gender + ", email =" + email + ", cleasenate =" + createarate + "]"; }} 4. Создайте новый класс отображения интерфейса: AccountInfomapper.java
пакет com.oracle.mapper; import java.util.list; import com.oracle.entity.accountinfo; public account accountInfomApper { / *** Запрос всех данных* @return* / list <complountInfo> QueryAllaccountInfo (); / ** * Вставить данные пакетной вставки * * @param accountfistist * @return */ int batchinsertaccountinfo (list <complountInfo> accountInfist);}5. Создать файл конфигурации mybatis: mybatis-configuration.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <! Конфигурация doctype public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <configuration> <cervination afault upectome upertault "effection upperation" upporting "efference vervaction"> just vervaction "<> reproscomation" efferuction ">" Развитие "развитие" развитие ". type = "jdbc" /> <dataSource type = "Booled"> <name = "Driver" value = "oracle.jdbc.driver.oracledriver" /> <name = "url" value = "jdbc: oracle: thin: @localhost: 1521: orcl" /> <proport name = "username" value = "xxx" /" />" /"" /"" /> " /" " /" " />" /"" /"" /"" /"" /> " /" " /" " /" " />" /"" /"" /"" /"" /> " /" " /" " />" /"" /> ". value = "xxx"/> </dataSource> </envenerition> </ervines> <mappers> <mapper resource = "config/accountInfomapper.xml"/> </mappers> </configuration>
6. Создайте файл конфигурации интерфейса: AccountInfomApper.xml
База данных о вставке Oracle отличается от MySQL.
Mysql:
Кода кода выглядит следующим образом: вставьте значения account_info (ID, имя пользователя, пароль, пол, электронная почта, create_date) (,,,,) (,,,,,)
Oracle:
Скопируйте код следующим образом: вставьте в choucce_info (ID, имя пользователя, пароль, пол, электронная почта, create_date) (выберите 1 ,,,,,,
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> mapper.org/dtd/mybatis-3-mapper.dtd"> mapper. namespace = "com.oracle.mapper.accountinfomapper"> <!-Полное имя класса интерфейса-> <!-Тип: полное имя класса класса объекта-> <resultmap id = "baseresultmap" type = "com.oracle.entity.accountinfo"> <id colun = "us ul" use "jdbccty. property="userName" jdbcType="VARCHAR" /> <result column="PASSWORD" property="password" jdbcType="VARCHAR" /> <result column="GENDER" property="gender" jdbcType="CHAR" /> <result column="EMAIL" property="email" jdbcType="VARCHAR" /> <result column="CREATE_DATE" property="createDate" jdbctype = "date"/> </resultMap> <!-ID согласуется с именем метода в интерфейсе-> <SELECT ID = "QueryAllaccountinfo" resultMap = "baserSultMap"> Select Id, username, пароль, пол, электронная почта, create_date из account_info </select> <sersert ud = "bathnestaccountaccountaccounticcounticcountic ParameterType = "java.util.list"> вставьте в chound_info (id, имя пользователя, пароль, пол, электронная почта, create_date) (<foreach collection = "list" index = "" item = "accountInfo" sepreator = "union"> select #{accountInfo.id}, #{accountInfo.usernam #{AccountInfo.gender}, #{accountInfo.email}, #{accountInfo.createdate} из Dual </foreach>) </insert> </mapper> 7. Напишите классы тестирования:
пакет com.oracle.test; import java.io.inputStream; import java.sql.date; импорт java.util.arraylist; import java.util.list; импорт java.util.list; импорт org.apache.ibatis.io.resources; импорт org.apache.session.sessioncory; org.apache.ibatis.session.sqlsessionFactoryBuilder; импорт com.oracle.entity.accountinfo; import com.oracle.mapper.accountinfomapper; открытый класс mybatistest {public static void main (String [] args) Throws Exception {String resource = "config/mybatis-configator. InputStream inputStream = resources.getResourceasStream (ресурс); SQLSessionFactory SessionFactory = new SQLSessionFactoryBuilder () .build (InputStream); SQLSession Session = sessionFactory.Opensession (); AccountInfomApper mapper = session.getMapper (accountInfomapper.class); List <comscountInfo> accountInfolist = mapper.queryallaccountinfo (); if (accountInfolist == null) {System.out.println («Результат null.»); } else {for (accountInfo personInfo: accountInfist) {System.out.println (PersonInfo); }} mapper.batchinsertaccountinfo (Generatedata ()); session.commit (); } static list <complountInfo> GenedAtATA () {list <comscouctInfo> result = new ArrayList <complountInfo> (); AccountInfo Account = new AccountInfo (); Account.SetId (3L); account.setusername ("Zhangsanfeng"); Account.SetPassword ("123456"); account.setgender ("1"); Account.SetEmail ("[email protected]"); Account.SetCreatedAte (новая дата (System.CurrentTimeMiMillis ())); result.add (account); Account = new AccountInfo (); account.setid (4L); account.setusername ("Zhouzhiruo"); Account.SetPassword ("Zhangwuji"); Account.SetGender ("0"); Account.SetEmail ("[email protected]"); Account.SetCreatedAte (новая дата (System.CurrentTimeMiMillis ())); result.add (account); Account = new AccountInfo (); account.setid (5L); account.setusername ("Zhaomin"); Account.SetPassword ("Zhangwuji"); Account.SetGender ("0"); Account.SetEmail ("[email protected]"); Account.SetCreatedAte (новая дата (System.CurrentTimeMiMillis ())); result.add (account); результат возврата; }}Скачать исходный код: http://xiazai.vevb.com/201606/yuanma/java-oracle(vevb.com).rar
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.