本篇内容介绍了“怎么创建myBatis项目”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
SqlSessionFactoryBuilder
(构造器):根据配置信息或者代码生成SqlSessionFactory
SqlSessionFactory
(工厂接口):依靠工厂来生成SqlSession
(会话)
SqlSession
(会话): 是一个既可以发送SQL
去执行返回结果,也可以获取Mapper
接口
SQL Mapper
:是MyBatis新设计的组件,由java接口和XML文件(或者注解)构成,需要给出对应的SQL和映射规则,负责发送SQL
去执行并返回结果。
myBatis
如何获取:1、maven仓库
2、Github
3、中文文档
创建数据库:user表
create table user(
-> id int(20) not null primary key,
-> name varchar(30) default null,
-> pwd varchar(30) default null);
Query OK, 0 rows affected (0.02 sec)
mysql> insert into user(id,name,pwd) values(1,"张三",123456);
Query OK, 1 row affected (0.01 sec)
mysql> insert into user(id,name,pwd) values(2,"李四",123456);
Query OK, 1 row affected (0.00 sec)
mysql> insert into user(id,name,pwd) values(3,"王五",123456);
Query OK, 1 row affected (0.01 sec)
创建普通Maven项目
删除src文件夹
导入依赖
2.2.1、编写Mybatis的核心配置文件
<?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核心配置文件-->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
</configuration>
2.2.2、编写myBatis的工具类
//sqlSessionFactory------>sqlSession
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
//使用mybatis第一步获取sqlSessionFactory对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}catch (IOException e){
e.printStackTrace();
}
}
//SqlSession完全包含了面向数据库执行Sql命令的所有方法
public static SqlSession getSqlSession(){
// SqlSession sqlSession = sqlSessionFactory.openSession();
// return sqlSession;
return sqlSessionFactory.openSession();
}
}
实体类
package com.malajava.pojo;
public class User {
private int id;
private String name;
private String pwd;
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
public User() {
}
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 getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
}
Dao接口
package com.malajava.dao;
import com.malajava.pojo.User;
import java.util.List;
public interface UserDao {
List<User> getUserList();
}
接口实现类
由原来的UserDaoImpl
转变成了一个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=綁定一個對應的Dao或者mapper接口-->
<mapper namespace="com.malajava.dao.UserDao">
<!--查询语句 resultType为全限定名称-->
<select id="getUserList" resultType="com.malajava.pojo.User">
select * from mybatis.user
</select>
</mapper>
package com.malajava.dao;
import com.malajava.pojo.User;
import com.malajava.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserDaoTest {
@Test
public void test(){
//第一步:获得sqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//执行Sql语句
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> userList = userDao.getUserList();
for (User user: userList) {
System.out.println(user);
}
sqlSession.close();
}
}
“怎么创建myBatis项目”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/asia123/blog/4486149