Eclipse Maven Mybatis的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse Maven Mybatis的使用相关的知识,希望对你有一定的参考价值。

关于maven的使用网上有太多教程,这里就不再介绍。本篇文章只用来记录 在Eclipse中使用maven创建含有mybatis的程序的配置,及注意事项。

使用Eclipse创建Maven项目

  • 创建后的目录结构如上,这里建的不是web项目使用的是maven的quickstart模板
    技术分享图片

  • 创建后在pom.xml文件中添加mybatis和mysql的依赖
    技术分享图片

使用mysql创建一个test数据库,并创建一个User表

create table User(
UserName varchar(50) primary key,
UserPwd varchar(50) not null,
UserMail varchar(50) ,
UserAddress varchar(50)
);

  • 新建一个User类,对应User表中的每一个字段
    技术分享图片

代码如下

package com.ws.dao;

public class User {
    private String UserName;
    private String UserPwd;
    private String UserMail;
    private String UserAddress;
    
    public User(String UserName,String UserPwd,String UserMail,String UserAddress){
        this.UserName=UserName;
        this.UserPwd=UserPwd;
        this.UserMail=UserMail;
        this.UserAddress=UserAddress;
    }
    
    public User(){
        
    }

    public String getUserName() {
        return UserName;
    }

    public void setUserName(String userName) {
        UserName = userName;
    }

    public String getUserPwd() {
        return UserPwd;
    }

    public void setUserPwd(String userPwd) {
        UserPwd = userPwd;
    }

    public String getUserMail() {
        return UserMail;
    }

    public void setUserMail(String userMail) {
        UserMail = userMail;
    }

    public String getUserAddress() {
        return UserAddress;
    }

    public void setUserAddress(String userAddress) {
        UserAddress = userAddress;
    }
    
    public String toString(){
        return getUserName()+" "+getUserPwd()+" "+getUserMail()+" "+getUserAddress();
    }

}
  • 新建一个UserMapper接口,代码如下
package com.ws.dao;

import com.ws.dao.User;
import org.apache.ibatis.annotations.Param;

public interface UserMapper {
    public void insertUser(User user);
    public User selectUser(@Param(value="userName") String userName);
}

在项目中添加mybatis的配置文件

  • 添加全局配置文件mybatis-config.xml

    这里有一些需要注意的内容,首先是 DOCTYPE元素,后面的configuration 对应着这是一个管理配置,它与后面的mapper的配置是有区别的,在复制XML文件的时候需要注意
    还有关于mysql数据库的链接配置,在 url的value中 如果自己的mysql设置的不是允许远程访问的,那么就不要直接使用ip地址,否则运行时会报错,这里写的是localhost。
    mappers元素则对应着后面的Mapper接口的配置,不要忘记添加,不然 运行时也会报错。


<?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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="UNPOOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/test" />
                <property name="username" value="root" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="User.xml" />
    </mappers>
</configuration>
  • 添加mapper配置文件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">

<mapper namespace="com.ws.dao.UserMapper">
    <select id="selectUser" resultType="com.ws.dao.User">
        select * from user where UserName=#{userName}       
    </select>
        
    <insert id="insertUser" parameterType="com.ws.dao.User">
        insert into
        User (UserName,UserPwd,UserMail,UserAddress)
        values(#{UserName},#{UserPwd},#{UserMail},#{UserAddress})       
    </insert>
</mapper>
 

主程序的代码

package com.ws.LearnMybatis;
import java.io.Reader;

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.ws.dao.User;
import com.ws.dao.UserMapper;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        SqlSession session=null;
        try{
            String resource="mybatis-config.xml";
            Reader reader=null;
            reader=Resources.getResourceAsReader(resource);
            SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
            session=sqlSessionFactory.openSession();
            UserMapper userMapper=session.getMapper(UserMapper.class);
            User user=userMapper.selectUser("xiaohong");
            session.commit();
            System.out.println(user.toString());
            user=new User("xiaogang","11111","[email protected]","shanghai");
            userMapper.insertUser(user);
            session.commit();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            session.close();
        }
        
    }
}
  • 程序运行结果

技术分享图片











以上是关于Eclipse Maven Mybatis的使用的主要内容,如果未能解决你的问题,请参考以下文章

mybatis generator在eclipse上的配置与使用(在maven上配置方法)

使用maven构建springmvc-mybatis项目

请问eclipse搭建SSM(spring+springmvc+mybatis)一定要用maven来搭建吗

maven在eclipse上怎么把数据库表生成实体类

eclipse下用maven插件+Mabatis-generator生成mybatis的文件

Mybatis-Generator插件的使用与Spring集成Mybatis的配置