关于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","123@123","shanghai");
            userMapper.insertUser(user);
            session.commit();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            session.close();
        }

    }
}
  • 程序运行结果

Eclipse Maven Mybatis的使用的更多相关文章

  1. eclipse下SpringMVC+Maven+Mybatis+MySQL项目搭建

    这篇文章主要讲解使用eclipse对Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建过程,包括里面步骤和里面的配置文件如何配置等等都会详细说明. 接下来马上进入项目搭建 ...

  2. Eclipse+Maven创建webapp项目<一><二><三>

    转-http://www.cnblogs.com/candle806/p/3439469.html Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new ...

  3. Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建(转)

    这篇文章主要讲解使用eclipse对Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建过程,包括里面步骤和里面的配置文件如何配置等等都会详细说明. 如果还没有搭建好环境( ...

  4. Eclipse 使用mybatis generator插件自动生成代码

    Eclipse 使用mybatis generator插件自动生成代码 标签: mybatis 2016-12-07 15:10 5247人阅读 评论(0) 收藏 举报 .embody{ paddin ...

  5. Maven+Mybatis+Spring+SpringMVC实现分页查询

    转载:http://www.cnblogs.com/zhangtan/p/5846955.html 一.项目搭建 关于项目搭建,小宝鸽以前写过一篇Spirng+SpringMVC+Maven+Myba ...

  6. Maven+Mybatis+Spring+SpringMVC实现分页查询(附源代码)

    以下小宝鸽将分享一篇Mybatis分页功能的博文,以下将给出具体的步骤.跟着博主的节奏肯定能实现.另外最后还会附上整个project的源代码.假设是没有使用过maven的猿友可自行下载相关的jar包就 ...

  7. eclipse maven项目错误

    eclipse maven项目错误:Failure to transfer org.codehaus.plexus:plexus-interpolation:jar:1.15 from http:// ...

  8. eclipse maven java1.8支持

    下载Java 8并确保你的Eclipse版本是Kepler SR2. 选择菜单:"Help > Eclipse Marketplace-". 在搜索框中输入"Jav ...

  9. eclipse maven update error 解决方法

    eclipse  maven  update error 解决方法     本来真不想写这篇博文的,但是eclipse和maven真的是太操蛋了,动不动就出了一些乱七八糟的问题,记录一下.希望公司能早 ...

随机推荐

  1. Linux库函数制作(静态库、动态库)

    Linux库函数制作(静态库.动态库) 静态库与动态库 链接方式 链接分为两种:静态链接.动态链接 静态链接: 由链接器在链接时将库的内容加入到可执行程序中 静态链接的特点是: 优点: 对运行环境的依 ...

  2. ssh: connect to host master port 22: Connection refused

    hadoop集群启动的时候namenode显示Connection refused 到windows下ping  master 显示传输中过期 ip是静态的 ssh master 也是连接拒绝 重启s ...

  3. CI脚本异常退出问题定位

    背景 在CI脚本中,使用类似如下脚本进行项目编译的计时,但在执行过程中,有时会出现CI脚本(命名为ci.sh)未完全执行的情况: #!/bin/bash -e sleep_time=$1 start_ ...

  4. AngularJS学习篇(四)

    AngularJS ng-model 指令 ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, textarea)的值. <!DOCTYPE html& ...

  5. jsbin本地部署

    jsbin 本地运行 1.首先安装node.js,下载地址http://nodejs.org/ 安装完成后,使用node.js安装jsbin,如下:进入node环境,执行下面语句: $ npm ins ...

  6. 单元测试框架 unittest 的运行方法if __name__ == '__main__': unittest.main()

    1. if __name__ == '__main__': unittest.main()2. 测试用例实例根据测试的特点分组在一起. unittest为此提供了一个机制:测试套件由unittest' ...

  7. ASP.NET Core中的OWASP Top 10 十大风险-失效的访问控制与Session管理

    不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: https://dotnetcoretutorials.com/201 ...

  8. Do you kown Asp.Net Core -- 配置Kestrel端口

    Kestrel介绍 在Asp.Net Core中,我们的web application 其实是运行在Kestrel服务上,它是一个基于libuv开源的跨平台可运行 Asp.Net Core 的web服 ...

  9. 了解Python列表的一些方法

    首先定义一个名字列表,然后使用print() BIF在屏幕上显示这个列表. 接下来,使用len() BIF得出列表中有多少个数据项,然后再访问并显示第2个数据项的值: 创建了列表之后,可以使用列表方法 ...

  10. 这些工具对html5开发有很大帮助

    如今H5已经在IT这块很热门,所以也就有越来越多的人自学或是报名培训班学习H5,今天写一篇关于当下html5开发工具有哪些?哪个更好一些? 浅谈2017年html5开发工具哪个好: 1.Adobe D ...