MyBatis的环境搭建

本文转载至http://blog.csdn.net/mahoking

       本文将介绍MyBatis的环境搭建,本例使用的MyBatis的版本为mybatis-3.2.8.jar。下载地址为:http://download.csdn.net/detail/ma_hoking/8380541。本例使用的数据库为MySQL数据。具体的安装操作请参考:http://blog.csdn.net/mahoking/article/details/42921511

【转载使用,请注明出处:http://blog.csdn.net/mahoking
       首先创建Java项目MyBatisTest。导入项目需要的jar文件mybatis-3.2.8.jar,由于本例需要连接MySQL数据库,所以需要导入mysql-connector-java-5.1.7-bin.jar。
 创建User实体对象

  1. public class User {  
  2.   
  3.     private Integer id ;  
  4.     private String userName ;  
  5.     private String password;  
  6.       
  7.     /* 
  8.       必须要有这个无参构造方法,不然根据UserMapper.xml中的配置, 
  9.       在查询数据库时,将不能反射构造出User实例    
  10.      /  
  11.     public User() {  
  12.     }  
  13.   
  14.     public User(String userName, String password) {  
  15.         super();  
  16.         this.userName = userName;  
  17.         this.password = password;  
  18.     }  
  19.       
  20.     public Integer getId() {  
  21.         return id;  
  22.     }  
  23.     public void setId(Integer id) {  
  24.         this.id = id;  
  25.     }  
  26.     public String getUserName() {  
  27.         return userName;  
  28.     }  
  29.     public void setUserName(String userName) {  
  30.         this.userName = userName;  
  31.     }  
  32.     public String getPassword() {  
  33.         return password;  
  34.     }  
  35.     public void setPassword(String password) {  
  36.         this.password = password;  
  37.     }  
  38. }  
public class User {

private Integer id ;
private String userName ;
private String password;

/**
 * 必须要有这个无参构造方法,不然根据UserMapper.xml中的配置,
 * 在查询数据库时,将不能反射构造出User实例   
 */
public User() {
}

public User(String userName, String password) {
    super();
    this.userName = userName;
    this.password = password;
}

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;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}

}

        创建configuration.xml,该文件类似Hibernate.cfg.xml文件,可以称之为主配置文件。导入dtd文件。

  1. <!DOCTYPE configuration PUBLIC     
  2.     ”-//mybatis.org//DTD Config 3.0//EN”    
  3.     ”http://mybatis.org/dtd/mybatis-3-config.dtd>   
<!DOCTYPE configuration PUBLIC 
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

           编写configuration.xml。

  1. <?xml version=“1.0” encoding=“UTF-8”?>  
  2. <!DOCTYPE configuration PUBLIC     
  3.     ”-//mybatis.org//DTD Config 3.0//EN”    
  4.     ”http://mybatis.org/dtd/mybatis-3-config.dtd>    
  5. <configuration>  
  6.   
  7.     <typeAliases>  
  8.         <!– 注册实体Bean –>  
  9.         <typeAlias type=“com.mahaochen.mybatis.domain.User” alias=“User”/>  
  10.     </typeAliases>  
  11.       
  12.     <environments default=“development”>  
  13.         <environment id=“development”>  
  14.             <transactionManager type=“JDBC”/>  
  15.             <dataSource type=“POOLED”>  
  16.                 <property name=“driver” value=“com.mysql.jdbc.Driver” />  
  17.                 <property name=“url” value=“jdbc:mysql://127.0.0.1:3306/mhc”/>  
  18.                 <property name=“username” value=“root”/>  
  19.                 <property name=“password” value=“root”/>  
  20.             </dataSource>  
  21.         </environment>  
  22.     </environments>  
  23.       
  24.     <mappers>  
  25.         <mapper resource=“com/mahaochen/mybatis/domain/User.xml”/>  
  26.     </mappers>  
  27. </configuration>  
<?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>

&lt;typeAliases&gt;
    &lt;!-- 注册实体Bean --&gt;
    &lt;typeAlias type="com.mahaochen.mybatis.domain.User" alias="User"/&gt;
&lt;/typeAliases&gt;

&lt;environments default="development"&gt;
    &lt;environment id="development"&gt;
        &lt;transactionManager type="JDBC"/&gt;
        &lt;dataSource type="POOLED"&gt;
            &lt;property name="driver" value="com.mysql.jdbc.Driver" /&gt;
            &lt;property name="url" value="jdbc:mysql://127.0.0.1:3306/mhc"/&gt;
            &lt;property name="username" value="root"/&gt;
            &lt;property name="password" value="root"/&gt;
        &lt;/dataSource&gt;
    &lt;/environment&gt;
&lt;/environments&gt;

&lt;mappers&gt;
    &lt;mapper resource="com/mahaochen/mybatis/domain/User.xml"/&gt;
&lt;/mappers&gt;

</configuration>


从上文可知,引入了User.xml,该文件类似于Hibernate中的*.hbm.xml文件。那我们现在编写User.xml文件。

  1. <?xml version=“1.0” encoding=“UTF-8” ?>    
  2. <!DOCTYPE mapper PUBLIC     
  3.     ”-//mybatis.org//DTD Mapper 3.0//EN”    
  4.     ”http://mybatis.org/dtd/mybatis-3-mapper.dtd>  
  5.   
  6. <!– 这里namespace必须是UserMapper接口的路径,不然要运行的时候要报错 “is not known to the MapperRegistry”–>  
  7. <mapper namespace=“com.mahaochen.mybatis.interfaces.UserMapper”>  
  8.   
  9.   
  10.     <!– 这里的id必须和UserMapper接口中的接口方法名相同,不然运行的时候会报错 –>  
  11.     <!– 添加操作 这里sql结尾不能加分号,否则报错误 –>  
  12.     <insert id=“insertUser” parameterType=“User”>  
  13.         <![CDATA[ 
  14.         insert into mhc_user(userName,password) values(#{userName},#{password}) 
  15.         ]]>  
  16.     </insert>  
  17.       
  18.     <!– 删除操作 –>  
  19.     <delete id=“deleteUser” parameterType=“String”>  
  20.         <![CDATA[ 
  21.         delete from mhc_user where userName=#{userName} 
  22.         ]]>  
  23.     </delete>  
  24.       
  25.     <!– 更新操作 –>  
  26.     <update id=“updateUser” parameterType=“User”>  
  27.         <![CDATA[ 
  28.         update mhc_user set userName=#{userName},password=#{password} where id=#{id} 
  29.         ]]>  
  30.     </update>  
  31.       
  32.     <!– 查询操作 –>  
  33.     <select id=“selectUser” parameterType=“int” resultType=“User”>  
  34.         <![CDATA[ 
  35.         select * from mhc_user where id = #{id} ; 
  36.         ]]>  
  37.     </select>  
  38.       
  39.   
  40. </mapper>   
<?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必须是UserMapper接口的路径,不然要运行的时候要报错 “is not known to the MapperRegistry”–>
<mapper namespace=”com.mahaochen.mybatis.interfaces.UserMapper”>

&lt;!-- 这里的id必须和UserMapper接口中的接口方法名相同,不然运行的时候会报错 --&gt;
&lt;!-- 添加操作 这里sql结尾不能加分号,否则报错误 --&gt;
&lt;insert id="insertUser" parameterType="User"&gt;
    &lt;![CDATA[
    insert into mhc_user(userName,password) values(#{userName},#{password})
    ]]&gt;
&lt;/insert&gt;

&lt;!-- 删除操作 --&gt;
&lt;delete id="deleteUser" parameterType="String"&gt;
    &lt;![CDATA[
    delete from mhc_user where userName=#{userName}
    ]]&gt;
&lt;/delete&gt;

&lt;!-- 更新操作 --&gt;
&lt;update id="updateUser" parameterType="User"&gt;
    &lt;![CDATA[
    update mhc_user set userName=#{userName},password=#{password} where id=#{id}
    ]]&gt;
&lt;/update&gt;

&lt;!-- 查询操作 --&gt;
&lt;select id="selectUser" parameterType="int" resultType="User"&gt;
    &lt;![CDATA[
    select * from mhc_user where id = #{id} ;
    ]]&gt;
&lt;/select&gt;

</mapper>


       上文中出现com.mahaochen.mybatis.interfaces.UserMapper将在下文中介绍。 MyBatis与Hibernate有一定的相似之处,在学习Hibernate时,博主介绍了HibernateUtil这个工具对象用于管理SessionFactory和Session。对于MyBatis,这里我们也需要创建一个MyBatisUtil对象用于管理SqlSessionFactory和SqlSession。

  1. / 
  2.   提供获取SqlSessionFactory对象或管理Sesison的操作 
  3.   @author mahc 
  4.   
  5.  /  
  6. public class MyBatisUtil {  
  7.   
  8.     private static SqlSessionFactory ssf;  
  9.     static{  
  10.         String resource = ”configuration.xml”;  
  11.         Reader reader;  
  12.         try {  
  13.             reader = Resources.getResourceAsReader(resource);  
  14.             ssf = new SqlSessionFactoryBuilder().build(reader);  
  15.         } catch (IOException e) {  
  16.             e.printStackTrace();  
  17.         }  
  18.     }  
  19.       
  20.     / 
  21.       获取SqlSessionFactory 
  22.       @return 
  23.      /  
  24.     public static SqlSessionFactory getSqlSessionFactory(){  
  25.           
  26.         return ssf;  
  27.     }  
  28.       
  29.     / 
  30.       关闭Session 
  31.       @param session 
  32.      /  
  33.     public static void closeSession(SqlSession session){  
  34.           
  35.         if(null!=session){  
  36.             session.close();  
  37.         }  
  38.     }  
  39. }  
/ 
* 提供获取SqlSessionFactory对象或管理Sesison的操作
* @author mahc
*
*/
public class MyBatisUtil {

private static SqlSessionFactory ssf;
static{
    String resource = "configuration.xml";
    Reader reader;
    try {
        reader = Resources.getResourceAsReader(resource);
        ssf = new SqlSessionFactoryBuilder().build(reader);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

/**
 * 获取SqlSessionFactory
 * @return
 */
public static SqlSessionFactory getSqlSessionFactory(){

    return ssf;
}

/**
 * 关闭Session
 * @param session
 */
public static void closeSession(SqlSession session){

    if(null!=session){
        session.close();
    }
}

}

       MyBatis环境搭建就此完成,具体的操作数据库的增删改查操作将在下文中介绍。敬请期待!!点击查看下文!

【转载使用,请注明出处:http://blog.csdn.net/mahoking

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值