AI智能
改变未来

idea使用maven搭建mybatis项目连接mysql完整版


maven搭建mybatis项目:

mybatis中文入门简介~

选择maven,勾选需要的jdk(本人jdk1.8),勾选Create from archetype,点击next。

Groupid写公司名的反写,比如

jd.com

com.jd

,Artifactld写项目名称。

Module name写项目名和之前一样,下两项写放入本地路径。

红框让idea自动导入maven依赖。

然后你会发现有两种情况,一种有main和test包,另一个没有,不过不用担心,可以用两种不同写法。没有的那种可以在包上new一个Module,创建一个想父子类依赖可共用的maven项目,其pom.xml包中依赖在新建maven也有。


第一种,显示main或test,只需在刚才选取maven界面勾选选取

Create from archetype

即可,不要选取界面其他一路到底就行。

而这第二种是选取了界面中某一项引起,会在写了公司反写和项目名后出现这个界面。第一个框默认

BUNDLE(MAVEN 3)

这是默认将maven主目录放于idea安装目录中的

plugs

目录下的maven中,不改也行。第二个是你的maven安装的目录

conf

目录下的

stteing.xml

文件,第三是你本地仓库路径。

然后我们默认进入pom.xml,有你创建的公司名,项目名,版本号。

在这个pom.xml文件中引入依赖,让maven搞定,我们写在

<dependencies><!--mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version></dependency><!--junit驱动--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!--mybaties驱动--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.4</version><scope>provided</scope></dependency></dependencies>

将依赖放在

dependencies

下,每个依赖由

denpendency

包裹,依赖可去maven官网查看你需要的。maven官网首页~

创建如下包结构

在Util包中我们建一个Mybatis_Util 工具类

package com.Mybaties.Util;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.IOException;import java.io.InputStream;//mybatis工具类public class Mybatis_Util {//使用mybatis使用SqlSessionFactor对象private static InputStream inputStream;private static SqlSessionFactory sqlSessionFactory;{try {String resource = \"mybatis-config.xml\";inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}//SqlSession包含了面向数据库执行sql的命令方法public  static SqlSession getSqlSession(){return sqlSessionFactory.openSession();/*SqlSession sqlSession = sqlSessionFactory.openSession();return sqlSession;*/}}

我们需要在

resources

下创建一个

mybatis-config.xml

的文件

在mybatis-config.xml文件中写

<?xml version=\"1.0\" encoding=\"UTF-8\" ?><!DOCTYPE configurationPUBLIC \"-//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=\"POOLED\"><property name=\"driver\" value=\"${driver}\"/><property name=\"url\" value=\"${url}\"/><property name=\"username\" value=\"${username}\"/><property name=\"password\" value=\"${password}\"/></dataSource></environment></environments><!--每个Mapper.xml文件都得在mybatis核心文件中注册--><mappers><mapper resource=\"org/mybatis/example/BlogMapper.xml\"/></mappers></configuration>

如果是oracle数据库,改一下连接方式就行

写实体,与数据库字段一致。先建个数据库,在建个表。id,name,pass字段

在bean包下建User类,封装一下

package com.Mybaties.bean;import java.util.Objects;public class User {private int id;private  String name;private  String pass;public User() {}public User(int id, String name, String pass) {this.id = id;this.name = name;this.pass = pass;}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 getPass() {return pass;}public void setPass(String pass) {this.pass = pass;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;User user = (User) o;return id == user.id &&Objects.equals(name, user.name) &&Objects.equals(pass, user.pass);}@Overridepublic int hashCode() {return Objects.hash(id, name, pass);}@Overridepublic String toString() {return \"User{\" +\"id=\" + id +\", name=\'\" + name + \'\\\'\' +\", pass=\'\" + pass + \'\\\'\' +\'}\';}}

在dao包下建一个userDao接口,和一个UserMapper.xml,这个xml文件就相当于之前的Dao接口的实现类。

分别在UserDao和UserMapper.xml写:

在dao接口写个List方法,getUserList()

在xml文件写文件如下注意:

<?xml version=\"1.0\" encoding=\"UTF-8\" ?><!DOCTYPE mapperPUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\"><!--namespace=绑定java包下对应的Dao下的UserDao接口地址--><mapper namespace=\"com.Mybaties.Dao.UserDao\"><!--查询语句 id是Dao接口里面的方法 resultType是返回类型--><select id=\"getUserList\" resultType=\"com.Mybaties.bean.User\">select * from mybatismy.mybatisstudy</select></mapper>

之后在test包中的java下创建一个和要测试的包相同的目录结构,便于维护。

在UserDaoText类中条用Junit测试

package com.Mybatis.DaoTest;import com.Mybaties.Dao.UserDao;import com.Mybaties.Util.Mybatis_Util;import com.Mybaties.bean.User;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import java.util.List;public class UserDaoText {@Testpublic void text(){//使用mybatis工具类获取数据库执行犯法getSqlSession()SqlSession sqlSession = Mybatis_Util.getSqlSession();//获取Dao接口类行UserDao userDao = sqlSession.getMapper(UserDao.class);//调用dao接口中的方法List<User> list = userDao.getUserList();//遍历出for(User pri :list){System.out.println(pri);}//关闭SqlSession对象sqlSession.close();}}

为了防止包结构中的

.xml文件和``.properties

文件获取不到,在

pom.xml

文件中加上。

<!--在bulid里配置好resource防止到处文件出错--><!--<build><resources><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources></build>-->
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » idea使用maven搭建mybatis项目连接mysql完整版