千家信息网

01.基于IDEA搭建mybatis的MAVEN项目

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,基础环境IDEAMAVEN工程目录mysql数据库Maven Pom添加mybatis以及mysql的依赖包
千家信息网最后更新 2025年01月23日01.基于IDEA搭建mybatis的MAVEN项目


基础环境


  • IDEA

  • MAVEN


工程目录




mysql数据库





Maven Pom

添加mybatis以及mysql的依赖包

    4.0.0    com.mu    mybatis    1.0-SNAPSHOT                        org.mybatis            mybatis            3.4.1                            mysql            mysql-connector-java            5.1.29                                                           src/main/resources                                    **/*.properties                    **/*.xml                    **/*.tld                                false                                        src/main/java                                    **/*.properties                    **/*.xml                    **/*.tld                                false                        

创建各实体类以及mapper.xml文件


  • User.java
package com.mu.mybatis.domain;/** * Created by manunited1985 on 2017/11/23. */public class User {    private Integer userId;    private String userName;    private String userPassword;    private String userEmail;    public User(Integer userId, String userName, String userPassword, String userEmail) {        this.userId = userId;        this.userName = userName;        this.userPassword = userPassword;        this.userEmail = userEmail;    }    public Integer getUserId() {        return userId;    }    public void setUserId(Integer userId) {        this.userId = userId;    }    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName;    }    public String getUserPassword() {        return userPassword;    }    public void setUserPassword(String userPassword) {        this.userPassword = userPassword;    }    public String getUserEmail() {        return userEmail;    }    public void setUserEmail(String userEmail) {        this.userEmail = userEmail;    }    @Override    public String toString() {        return "User [userId=" + userId + ", userName=" + userName                + ", userPassword=" + userPassword + ", userEmail=" + userEmail                + "]";    }}


  • UserMapper.java
package com.mu.mybatis.mapper;import com.mu.mybatis.domain.User;/** * Created by manunited1985 on 2017/11/24. */public interface UserMapper {    public User selectUserById(Integer userId);    public List selectUserAll();    public void insertUser(User user);}


  • UserMapper.xml
                                                                                  insert into t_user (USER_ID,USER_NAME,USER_PASSWORD,USER_EMAIL)        values (#{userId},#{userName},#{userPassword},#{userEmail})    


  • Main.java
package com.mu.mybatis;import com.mu.mybatis.domain.User;import com.mu.mybatis.mapper.UserMapper;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 java.io.InputStream;import java.io.IOException;import java.util.List;/** * Created by manunited1985 on 2017/11/23. */public class Main {    public static void main(String[] args) throws IOException {        SqlSession session = null;        try {            // 读取配置信息            String resource = "application.xml";            InputStream inputStream = Resources.getResourceAsStream(resource);            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();            // 选择不同的环境            String env = "product";            SqlSessionFactory factory = builder.build(inputStream,env);            // 产生SqlSession对象            session = factory.openSession();            System.out.println(session);            // 获取映射对象                        UserMapper userMapper = session.getMapper(UserMapper.class);            // 获取id为1的账户            User user = userMapper.selectUserById(1);            System.out.println(user);            // 获取所有账户            List arrayList = userMapper.selectUserAll();            System.out.println(arrayList);        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            if (session != null)                // 关闭连接                session.close();        }    }}


数据库配置 jdbc.properties

jdbc_driver=com.mysql.jdbc.Driverjdbc_url=jdbc\:mysql\://127.0.0.1\:3306/test?useUnicode=true&characterEncoding=utf-8jdbc_username=rootjdbc_password=123456


应用配置application.xml

                                                                                                                                                                                                                                                                                            


运行结果

org.apache.ibatis.session.defaults.DefaultSqlSession@454b70a9User [userId=1, userName=xiaoming, userPassword=123456, userEmail=x@sina.com][User [userId=1, userName=xiaoming, userPassword=123456, userEmail=x@sina.com], User [userId=2, userName=tom, userPassword=123, userEmail=tom@sina.com], User [userId=3, userName=jack, userPassword=123, userEmail=jack@sina.com]]

备注

如果你利用IDEA创建的工程,在加载mapper.xml文件的时候,出现类似现象:

mybatis错误--java.io.IOException: Could not find resource com/xxx/xxxMapper.xml

那么,你可以在pom.xml文件的添加如下字段:

                                             src/main/java                                    **/*.xml                                        

IDEA是不会编译src的java目录的xml文件,所以在Mybatis的配置文件中找不到xml文件!(也有可能是Maven构建项目的问题,网上教程很多项目是普通的Java web项目,所以可以放到src下面也能读取到)

0