程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 批量數據上傳的sql.xml,上傳sql.xml

批量數據上傳的sql.xml,上傳sql.xml

編輯:JAVA綜合教程

批量數據上傳的sql.xml,上傳sql.xml


<!-- User.xml -->
<?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" >

<!-- namespace命名空間,作用就是對sql進行分類化管理,可以理解為sql隔離
注意:使用mapper代理方法開發,namespace有特殊重要的作用,namespace要與接口名稱一致
-->
<mapper namespace="test" >
<!-- 在映射文件中配置很多sql語句 -->
<!-- 通過select執行數據庫查詢
id: 標識映射文件中的sql,將sql語句封裝到mappedStatement對象中,所以稱為statement的id
mapper代理開發方法中,該id要與接口的方法名一致
#{}表示一個占位符
parameterType指定輸入參數的類型
#{id}:其中的id表示接收輸入的參數,參數名稱就是id,如果輸入參數是簡單類型,#{}中的參數名可以任意
resultType指定輸出結果所映射的java對象類型,自動生成的該文件中使用了resultMap指定
-->
<insert id="addUserBatch" useGeneratedKeys="true" parameterType="java.util.List">
insert into user (id, first_name)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id},#{item.username})
</foreach>
</insert>
</mapper>

<!-- User.java -->
package entity;

import java.util.Date;

public class User {
private Integer id;

private String username;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
}

<!-- InsertTest.java -->
package entity;

import java.io.InputStream;
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 org.apache.poi.hssf.record.UserSViewBegin;

public class InsertTest {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//mybatis配置文件
String resource = "SqlMapConfig.xml";
//得到配置文件流
InputStream inputStream = null;
SqlSession sqlSession = null;
try {
inputStream = Resources.getResourceAsStream(resource);
//創建會話工廠
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//通過工廠得到SqlSession
sqlSession = sqlSessionFactory.openSession();
//通過SqlSession操作數據庫
//第一個參數:映射文件中statement中的id,等於namespace+"."+statement的id
//第二個參數: 指定和映射文件中所匹配的parameterType類型的參數
//sqlSession.selectOne結果就是與映射文件中所匹配的resultType類型的對象
User user = new User();
user.setId(2);
user.setUsername("test");
User user2 = new User();
user2.setId(3);
user2.setUsername("test2");
List<User> users = new ArrayList<User>();
users.add(user);
users.add(user2);
sqlSession.insert("test.addUserBatch", users);
sqlSession.commit();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//釋放資源
sqlSession.close();
}
}

}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved