MyBatis 配置及实现 CURD 操作

本文摘抄自网络

MyBatis 的前身就是 iBatis 。是一个数据持久层(ORM)框架。

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。


一、前提条件

建立表:admin_login_id

数据库结构

int log_id 主键

int admin_id

varchar login_time

domain:

01package com;
02  
03import java.util.Date;
04  
05/**
06 * @function : 
07 * @author   :jy
08 * @company  :万里网
09 * @date     :2011-7-31
10 */
11public class Logs {
12    public int log_id;
13    public int admin_id;
14    public Date login_time;
15      
16    public int getLog_id() {
17        return log_id;
18    }
19    public void setLog_id(int log_id) {
20        this.log_id = log_id;
21    }
22    public int getAdmin_id() {
23        return admin_id;
24    }
25    public void setAdmin_id(int admin_id) {
26        this.admin_id = admin_id;
27    }
28    public Date getLogin_time() {
29        return login_time;
30    }
31    public void setLogin_time(Date login_time) {
32        this.login_time = login_time;
33    }
34    @Override
35    public String toString() {
36        return "Logs [log_id=" + log_id + ", admin_id=" + admin_id + ", login_time=" + login_time + "]";
37    }
38      
39}

二、下面开始配置MyBatis

1.MyBatis总配置文件

01<?xml version="1.0" encoding="UTF-8" ?>
02<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
03"http://mybatis.org/dtd/mybatis-3-config.dtd">
04  
05<configuration>
06    <typeAliases>
07        <typeAlias alias="Logs" type="com.Logs"/>
08    </typeAliases>
09    <environments default="development">
10        <environment id="development">
11            <transactionManager type="JDBC"/>
12            <dataSource type="POOLED">
13                <property name="driver" value="com.mysql.jdbc.Driver"/>
14                <property name="url" value="jdbc:mysql://localhost:3306/manage?characterEncoding=UTF-8"/>
15                <property name="username" value="root"/>
16                <property name="password" value=""/>
17            </dataSource>
18        </environment>
19    </environments>
20      
21    <mappers>
22        <mapper resource="com/LogsMapper.xml" />
23    </mappers>
24</configuration>

2.实体映射文件

01<?xml version="1.0" encoding="UTF-8"?>
02<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
03"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
04  
05<mapper namespace="com.LogsDAO" >
06  
07  <select id="queryAllLogs" resultType="com.Logs">
08    SELECT
09      log_id,
10      admin_id,
11      login_time
12    FROM admin_login_log
13  </select>
14    
15  <select id="queryStudentById" resultType="Logs" parameterType="int">
16    SELECT 
17      log_id,
18      admin_id,
19      login_time
20    FROM admin_login_log
21    WHERE
22      log_id=#{log_id}
23  </select>
24    
25  <insert id="addLog" parameterType="Logs">
26    INSERT INTO admin_login_log 
27        (log_id, admin_id, login_time)
28    VALUES
29        (log_id, #{admin_id}, #{login_time})
30  </insert>
31    
32  <delete id="deleteLogById" parameterType="int">
33    DELETE FROM
34        admin_login_log
35    WHERE
36        log_id=#{log_id}
37  </delete>
38    
39  <select id="queryLogsByAdminId" parameterType="string" resultType="Logs">
40    SELECT 
41        log_id,
42        admin_id,
43        login_time
44    FROM 
45        admin_login_log
46    WHERE
47        admin_id like #{admin_id}
48  </select>
49</mapper>

 

三、建立DAO接口

01package com;
02  
03import java.util.List;
04  
05/**
06 * @function : 
07 * @author   :jy
08 * @company  :万里网
09 * @date     :2011-7-31
10 */
11public interface LogsDAO {
12    public void addLog(Logs log);
13      
14    public void deleteLogById(int id);
15      
16    public void updateStudentById(Logs log);
17      
18    public List<Logs> queryAllLogs();
19      
20    public Logs queryStudentById(int id);
21      
22    public List<Logs> queryLogsByAdminId(String admin_id);
23}


四、建立SqlSessionFactory实例,并实现LogsDAO接口

01package com;
02  
03import java.io.IOException;
04import java.io.Reader;
05import java.util.List;
06  
07import org.apache.ibatis.io.Resources;
08import org.apache.ibatis.session.SqlSession;
09import org.apache.ibatis.session.SqlSessionFactory;
10import org.apache.ibatis.session.SqlSessionFactoryBuilder;
11  
12/**
13 * @function : 
14 * @author   :jy
15 * @company  :万里网
16 * @date     :2011-7-31
17 */
18public class LogsDAOImpl implements LogsDAO {
19    private static SqlSession session = null;
20    private static LogsDAO mapper = null;
21      
22    static{
23        String resoure = "com/ibatisConfiguration.xml";
24        Reader reader = null;
25        try {
26            reader = Resources.getResourceAsReader(resoure);
27        } catch (IOException e) {
28            e.printStackTrace();
29        }
30          
31        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
32        session = sqlSessionFactory.openSession();
33        mapper = session.getMapper(LogsDAO.class);
34          
35        try {
36            reader.close();
37        } catch (IOException e) {
38            e.printStackTrace();
39        }
40    }
41      
42    /* (non-Javadoc)
43     * @see com.LogsDAO#addLog(com.Logs)
44     */
45    @Override
46    public void addLog(Logs log) {
47        mapper.addLog(log);
48          
49        session.commit();
50    }
51  
52    /* (non-Javadoc)
53     * @see com.LogsDAO#deleteLogById(int)
54     */
55    @Override
56    public void deleteLogById(int id) {
57        mapper.deleteLogById(id);
58          
59        session.commit();
60    }
61  
62    /* (non-Javadoc)
63     * @see com.LogsDAO#updateStudentById(com.Logs)
64     */
65    @Override
66    public void updateStudentById(Logs log) {
67  
68  
69    }
70  
71    /* (non-Javadoc)
72     * @see com.LogsDAO#queryAllLogs()
73     */
74    @Override
75    public List<Logs> queryAllLogs() {
76        List<Logs> logs = mapper.queryAllLogs();
77          
78        return logs;
79    }
80  
81    /* (non-Javadoc)
82     * @see com.LogsDAO#queryStudentById(int)
83     */
84    @Override
85    public Logs queryStudentById(int id) {
86        Logs logs = mapper.queryStudentById(id);
87          
88        return logs;
89    }
90  
91    /* (non-Javadoc)
92     * @see com.LogsDAO#queryLogsByAdminId(java.lang.String)
93     */
94    @Override
95    public List<Logs> queryLogsByAdminId(String admin_id) {
96        return mapper.queryLogsByAdminId(admin_id);
97    }
98  
99}

 

五、测试

01package test;
02  
03import java.io.IOException;
04  
05import com.Logs;
06import com.LogsDAOImpl;
07  
08/**
09 * @function : 
10 * @author   :jy
11 * @company  :万里网
12 * @date     :2011-7-31
13 */
14public class Test {
15  
16    /**
17     * @param args
18     * @throws IOException 
19     */
20    public static void main(String[] args) throws IOException {
21        // TODO Auto-generated method stub
22        LogsDAOImpl logs = new LogsDAOImpl();
23          
24//      System.out.println(logs.queryAllLogs());
25          
26//      Logs log = logs.queryStudentById(2);
27          
28//      System.out.println(log);
29          
30          
31        //addlog
32        Logs log = new Logs();
33          
34        log.setAdmin_id(1);
35          
36        log.setLog_id(10);
37          
38        log.setLogin_time(new java.util.Date());
39          
40        logs.addLog(log);
41          
42        //deleteLog
43        logs.deleteLogById(5);
44          
45        System.out.println(logs.queryLogsByAdminId("%1%"));
46    }
47  
48}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值