Mybatis—开发步骤(最基本)MyBatis开发步骤:
①添加MyBatis的坐标
②创建user数据表、
③编写User实体类
④编写映射⽂件l
⑤编写核⼼⽂件l
⑥编写测试类
提⽰:凡是有关数据库开发我们都得导⼊JDBC 哦这个⼩尝试要知道
下⾯分别导⼊: <!--mybatis坐标--><!--mysql驱动坐标--><!--⽇志坐标(Log4j)--> 这三个依赖版本⾃⼰换既可这⾥随便<!--JDBC 坐标 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>runtime</scope>
</dependency>
<!--mybatis 坐标 -->
mysql下载下来是一个文件夹<dependency>
<groupId&batis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--⽇志坐标 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
然后新建⼀个user表吧表如下:【记得写⼀些数据我们做⼀个简单的⽤ Mybatis 查询所有数据例⼦】
注意这个表所在的数据库是 test ,,,这⾥你⾃⼰弄配置⽂件中设置的时候⾃⼰换即可。
然后创建对应的 JavaBean: GETSET⽅法、TOSTRING ⽅法等等等等...
package com.bihu.Bean;
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
编写映射⽂件l 【名字随便起】
⼀般在Resources下⾯创建⽂件夹然后写:
看见没这⾥是⽤/分隔因为他是⽂件夹,不是包注意啊不然报错说不到。。。【搞死我了⼊坑】
最后就是这样的:
然后在⾥⾯写这样好分类。。。
编写映射⽂件,这个⽂件是XML,需要映射⽂件头:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/mybatis-3-mapper.dtd">
Mybatis映射⽂件头
添加头以后写⼀个 <mapper> 标签⾥⾯主要是写语句:详细看下⾯代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/mybatis-3-mapper.dtd">
<mapper namespace="userMapper">
<select id="findAll" resultType="com.bihu.Bean.User">
select * from user;
</select>
</mapper>
其中⾥⾯的 namespace 是⼀个名称空间表⽰⽽已,,
,, resultType 的意思就是映射绑定的Bean,⾥⾯写路径即可。。
,,然后⾥⾯的<select>是查询的意思(增删改查对应的),,然后给⼀个ID标识,⾥⾯写查询语句即可。
namespace 和语句标识ID 随便你写,到后⾯⽤起来的时候是 namespace + . + 语句标识ID 组合起来到这个语句执⾏的。
核⼼⽂件直接放在 resouces ⽂件夹下⾯即可。。
有了映射⽂件然后编写Mybatis的核⼼配置⽂件 l 【名字随便起】⾥⾯主要配置 JDB
C 的⼀些属性设置和映射⽂件的声明导⼊:Mybatis 核⼼配置⽂件头:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN" "/dtd/mybatis-3-config.dtd">
Mybatis 核⼼配置⽂件头
然后写⼀个 <configuration> 标签,详细看注释吧写的很明⽩
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN" "/dtd/mybatis-3-config.dtd">
<configuration>
<!--environments:环境的意思加了s表⽰复数可以配很多和环境 default 表⽰默认环境直接写环境的iD标识即可-->
<environments default="dev">
<!-- 定义⼀个环境加上⼀个环境标识ID -->
<environment id="dev">
<!-- 这个配置事务管理器(驱动)我们这⾥是JDBC 所以写JDBC -->
<transactionManager type="JDBC"></transactionManager>
<!-- 这个配置数据源 type表⽰数据源类型:我们这⾥是连接池 -->
<dataSource type="POOLED">
<!-- 下⾯配置数据源即数据库的属性 -->
<property name="driver" value="sql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</dataSource>
</environment>
</environments>
<!-- 千万别忘记了这⼀步!!配置映射⽂件不然你映射⽂件不⽣效! -->
<mappers>
<!-- resouce 表⽰在resouce⽂件下因为我们配了⽬录所以下⾯从哪⾥开始写⽬录寻注意别⽤. ⽤/ ⽤.是扫描包的 -->
<mapper resource="com/bihu/l"></mapper>
</mappers>
</configuration>
编写测试代码
就在Spring测试类哪⾥写吧:
import com.bihu.Bean.User;
import org.apache.ibatis.io.Resources; //Resources 是这个包下的
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MybatisTest {
@Test
public void db_show() throws IOException {
//⾸先先加载Mybatis核⼼配置⽂件
InputStream resourceAsStream = ResourceAsStream("l");//抛出⼀个IO异常
System.out.println(resourceAsStream);
//获取SqlSessionFactory⼯⼚对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
/
/执⾏sql语句这个返回的是List集合,参数传的是映射⽂件中命名空间 + 语句标识ID(namespace + . + 语句ID)
List<User> userList = sqlSession.selectList("userMapper.findAll");
//最后我么打印⼀下看成功了没:
System.out.println(userList);
}
}
注意⼀下那些包是在哪⾥写的其次注意⼀下 SQLSession.selectlist() 这个⽅法的参数要看懂即可其他的都是获取配置⽂件然后进⾏读取的。运⾏:
其实蛮简单但是稍微⼀点点复杂
如果出现这个异常去看看 <mapper resource="com/l"></mapper> 写对了没。。即可、
IO流异常其实你新建⽂件夹是⽤/分隔别⼀去就⽤. 因为这是⽂件夹不是包.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论