MyBatis入门

package com.mybatis.pojo;

public class User {
    private int id;
    private String name;
    private String dept;
    private String phone;
    private String website;
    
    public String getWebsite() {
        return website;
    }
    public void setWebsite(String website) {
        this.website = website;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    
}
package com.mybatis.mapperinterface;

import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.mybatis.pojo.User;

public interface IUser {
    
    @Select("select * from user")
    public List<User> getUserList();
    
    @Insert("insert into user set name=#{name},dept=#{dept},phone=#{phone},website=#{website}")
    public void addUser(User user);
    
    @Update("update user set phone=#{phone} where id=#{id}")
    public void updateUser(User user);
    
    @Select("select * from user where id=#{id}")
    public User getUser(int id);
}
import java.io.Reader;
import java.util.Iterator;
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 com.mybatis.mapperinterface.IUser;
import com.mybatis.pojo.User;

public class HelloWord {
    private static SqlSessionFactory sqlSessionFactory;
    private static Reader reader;
    
    static {
        try {
            reader = Resources.getResourceAsReader("config/Configure.xml");
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static SqlSessionFactory getSession() {
        return sqlSessionFactory;
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        getUserList();
//        addUser();
//        update();
    }
    
    
    private static void getUserList()
    {
        SqlSession session = sqlSessionFactory.openSession();
        try {
            IUser usermap = session.getMapper(IUser.class);
            List<User> userList = usermap.getUserList();
            Iterator<User> it = userList.iterator();
            while(it.hasNext())
            {
                User user = it.next();
                String userInfo = "名字:"+user.getName()+", 所属部门:"+user.getDept()+", 主页:"+user.getWebsite();
                System.out.println(userInfo);
            }
            
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        finally
        {
            session.close();
        }
    }
    
    private static void addUser()
    {
        SqlSession session = sqlSessionFactory.openSession();
        try
        {
            IUser usermap = session.getMapper(IUser.class);
            
            User user = new User();
            user.setName("niu");
            user.setDept("hehehe");
            user.setPhone("456123");
            user.setWebsite("www.feiyang.com");
            usermap.addUser(user);
            
            session.commit();
        } 
        catch(Exception e)
        {
            e.printStackTrace();
        }
        finally 
        {
            // TODO: handle finally clause
            session.close();
        }
    }
    
    private static void update()
    {
        SqlSession session = sqlSessionFactory.openSession();
        try
        {
            IUser usermap = session.getMapper(IUser.class);
            
            User user = usermap.getUser(1);
            user.setPhone("88888888");
            usermap.updateUser(user);
            
            session.commit();
        } 
        catch(Exception e)
        {
            e.printStackTrace();
        }
        finally 
        {
            // TODO: handle finally clause
            session.close();
        }
    }
    

}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--  这里是单个配置的,太麻烦了,还不如下边直接配个包<typeAliases>
        <typeAlias alias="User" type="com.mybatis.models.User" />
    </typeAliases>-->
    
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">  
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/mytest?useUni0code=true&amp;characterEncoding=utf8&amp;characterSetResults=utf8" />
                <property name="username" value="root" />
                <property name="password" value="745120" />
             </dataSource>
            </environment>
    </environments>
    
    <mappers>
         <package name="com.mybatis.mapperinterface" />
    </mappers>
</configuration>

 

posted @ 2017-06-21 02:42  腾飞新星  阅读(141)  评论(0编辑  收藏  举报