1、最簡(jiǎn)單方式,拼串直接IO至文件中。
創(chuàng)新互聯(lián)專注于武城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供武城營(yíng)銷型網(wǎng)站建設(shè),武城網(wǎng)站制作、武城網(wǎng)頁設(shè)計(jì)、武城網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造武城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供武城網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
2、用xml的生成插件,如dom4j,jdom等,操作后生成對(duì)象,再寫入文件。
Java mysql mybatis批量更新數(shù)據(jù)庫(kù),采用以下寫法即可執(zhí)行,但是數(shù)據(jù)庫(kù)連接必須配置:allowMultiQueries=true
例如:jdbc:mysql://192.168.1.236:3306/test?useUnicode=truecharacterEncoding=UTF-8allowMultiQueries=true
update id="batchUpdate" parameterType="java.util.List"
foreach collection="list" item="item" index="index" open="" close="" separator=";"
update test
set
test=${item.test}+1
/set
where id = ${item.id}
/foreach
/update
MyBatis是支持普通SQL查詢,存儲(chǔ)過程和高級(jí)映射的優(yōu)秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis使用簡(jiǎn)單的XML或注解用于配置和原始映射,將接口和Java的POJOs(Plan Old Java Objects,普通的Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄.
select * from 表名 limit #{從第幾條開始查},#{每頁的大小}mybatis mysql分頁mapxml中怎么寫
查詢語句是 MyBatis 中最常用的元素之一,本文涉及mybatis的單表查詢操作,關(guān)聯(lián)表有關(guān)的查詢會(huì)后續(xù)補(bǔ)充。
巧婦難為無米之炊,要想從數(shù)據(jù)庫(kù)中表中取出數(shù)據(jù)并轉(zhuǎn)化為javaBean,所以,我們要先準(zhǔn)備javabean以及與其對(duì)應(yīng)的數(shù)據(jù)表。
javaBean:
public class President {
private int id;
private String name;
@Override
public String toString() {
return "President [id=" + id + ", name=" + name + "]";
}
//get set 方法.....
}
創(chuàng)建兩個(gè)對(duì)應(yīng)的數(shù)據(jù)庫(kù)表,并插入兩條數(shù)據(jù):
create table president1(
p_id int not null auto_increment primary key,
p_name varchar(50) not null
);
insert into president1(p_name) values('lily'),('Tom');
create table president2(
id int not null auto_increment primary key,
name varchar(50) not null
);
insert into president2(name) values('lily'),('Tom');
創(chuàng)建兩個(gè)數(shù)據(jù)庫(kù)是為了測(cè)試兩個(gè)不同的查詢狀況,
數(shù)據(jù)庫(kù)字段名與實(shí)體類屬性名相同
從sql表可以看出president2的字段名與javabean:President的屬性名完全相同,這種情況下mybatis的select操作非常簡(jiǎn)單:
!-- 從表 president2中查詢--
select id="getPreByIdPresident2" parameterType="int" resultType="President"
select * from president2 where id=#{id}
/select
此時(shí)mybatis運(yùn)用反射機(jī)制會(huì)將查詢返回的結(jié)果(id,name)封裝成President對(duì)象。
如果從表president1中查詢,同樣采用上面的sql語句
!-- 從表 president1中查詢--
select id="getPreByIdPresident1" parameterType="int" resultType="President"
span style="white-space:pre" /spanPresident p1 = session.selectOne(statement+"getPreByIdPresident1", 1);
span style="white-space:pre" /spanSystem.out.println("表president1中查詢"+p1);
/select
此時(shí)如果用getPreByIdPresident1進(jìn)行查詢,返回的結(jié)果會(huì)是null,我們將上面的sql語句在mysql中執(zhí)行下:
有結(jié)果返回,但是返回的字段名為(p_id,p_name)這種結(jié)果mybatis在解析時(shí)無法與President類對(duì)應(yīng)。多數(shù)情況下實(shí)體類屬性名與數(shù)據(jù)庫(kù)表的字段名都會(huì)有差異,這種情況如果mybatis不能處理也就太low了。