sqliteibatis集成Sqlite:小数据库也有大效益

一、简介

  Ibatis简介:

  Ibatis是一个好像于Hibernate的多寡库ORM(对象关联映射,通俗点就是将数据库表的一条龙与目的之间的变换),不过又区别于自动化的Hibernate,他是一个半机关的ORM,要求协调写sql语句,通过ORM框架,让你不再去团结加载数据库驱动,建立连接…

  sqlite简介:

  那是一个袖珍的数据库,使用它不要求设置,也不过只有一个数据文件(缺点是不曾加密作用)。

 

简介百度时而,很多,不难的入门教程也很多,本片重视讲解Ibatis与sqlite集成。

 

二、环境搭建

1、成立数据库文件

  在确立项目事先推荐先建好数据库文件,建好里面的表字段,推荐使用工具SQLite
DataBase Browser。

sqlite 1

2、建立项目与导包  建立一个品类java
project,将急需的多少个包放到lib目录下,添加到条件中。

  ibatis-2.3.4.726.jar

  sqlite-jdbc-3.7.2.jar

三、配置文件

1、Ibatis配置文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
 3 "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
 4 <sqlMapConfig>
 5     <!-- 使用JDBC的事务管理 -->
 6     <transactionManager type="JDBC">
 7         <!-- 数据源 -->
 8         <dataSource type="SIMPLE">
 9             <property name="JDBC.Driver" value="org.sqlite.JDBC" />
10             <property name="JDBC.ConnectionURL" value="jdbc:sqlite:test.db" />
11             <property name="JDBC.Username" value="" />
12             <property name="JDBC.Password" value="" />
13         </dataSource>
14     </transactionManager>
15     <!--实体的映射文件 -->
16     <sqlMap resource="com/loadfate/domain/User.xml" />
17 </sqlMapConfig>

JDBC.ConnectionURL在分歧环境下布署分化
Ⅰ、Java Project中:

  jdbc:sqlite:test.db为品种路线下。

Ⅱ、Web项目中:

  数据库文件在src中时:           
 jdbc:sqlite::resource:upgradeserver.db
  数据库文件在windows系统中时:  
  jdbc:sqlite:/D:/upgradeserver.db
  数据库文件在linux路径中时:   
   jdbc:sqlite://home/zwq/upgradeserver.db

 

2、mapper配置文件

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
 3 "http://ibatis.apache.org/dtd/sql-map-2.dtd">
 4 
 5 <sqlMap>
 6     <!--别名 -->
 7     <typeAlias alias="User" type="com.loadfate.domain.User" />
 8     <!--查询全部用户 -->
 9     <select id="selectAllUser" resultClass="User">
10         select * from user
11     </select>
12     <!--通过Id查询,参数为int时,使用id取值 -->
13     <select id="selectUserById" parameterClass="int" resultClass="User">
14         select * from user where userid=#id#
15     </select>
16     <!--添加用户 -->
17     <insert id="addUser" parameterClass="User">
18         insert into user(username,password) values (#username#,#password#)
19     </insert>
20     <!--删除用户 -->
21     <delete id="deleteUserById" parameterClass="int">
22         delete from user where userid=#id#
23     </delete>
24     <!--更改用户 -->
25     <update id="updateUser" parameterClass="User">
26         update user set username=#username#,password=#password# where userid=#userid#
27     </update>
28 </sqlMap>

 

四、落成详解

1、IbatisUtil

 1 private static SqlMapClient sqlMapClient = null;
 2     static {
 3         try {
 4             //加载配置文件
 5             Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
 6             sqlMapClient=SqlMapClientBuilder.buildSqlMapClient(reader);
 7             reader.close();
 8         } catch (IOException e) {
 9             e.printStackTrace();
10         }
11     }
12 
13     private IbatisUtil() {
14     }
15 
16     public static SqlMapClient getSqlMapClient() {
17         return sqlMapClient;
18     }

 

2、UserDao

 1     SqlMapClient sqlMapClient = IbatisUtil.getSqlMapClient();
 2 
 3     // 添加用户
 4     public void addUser(User user) {
 5         try {
 6             sqlMapClient.insert("addUser", user);
 7         } catch (SQLException e) {
 8             e.printStackTrace();
 9         }
10     }
11     // 更新用户
12     public void updateUser(User user) {
13         try {
14             sqlMapClient.update("updateUser", user);
15         } catch (SQLException e) {
16             e.printStackTrace();
17         }
18     }
19     // 删除用户
20     public void deleteUser(User user) {
21         try {
22             sqlMapClient.insert("deleteUserById", user.getUserid());
23         } catch (SQLException e) {
24             e.printStackTrace();
25         }
26     }
27 
28     // 获取所有用户
29     @SuppressWarnings("unchecked")
30     public List<User> getAllUsers() {
31         List<User> users = null;
32         try {
33             users = sqlMapClient.queryForList("selectAllUser");
34         } catch (SQLException e) {
35             e.printStackTrace();
36         }
37         return users;
38     }
39 
40     // 通过id获取用户
41     public User getUser(int userid) {
42         User user = null;
43         try {
44             user = (User) sqlMapClient.queryForObject("selectUserById", userid);
45         } catch (SQLException e) {
46             e.printStackTrace();
47         }
48         return user;
49     }

3、Test

 

 1 public static void main(String[] args) {
 2         User user=new User();
 3         user.setUsername("张三");
 4         user.setPassword("123456");
 5         UserDao userDao=new UserDao();
 6         userDao.addUser(user);
 7         
 8         User user2=userDao.getUser(1);
 9         System.out.println(user2.getUsername());
10     }

 

sqlite 2

 

 

 

 

网站地图xml地图