实例警告:
Mybatis是一个操作数据库的框架,能避免很多的sql语句撰写的麻烦,也不用像jdbc那样繁琐,同样拥有hibernate的持久化操作
- 实体类,User.java:
package MyBatisDemo;
public class User {
private Integer uid;
private String name;
private int password;
private Integer age;
private String sex;
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUserName() {
return name;
}
//。。。此处省略其他getter方法
@Override
public String toString() {
return "User [uid=" + uid + ", name=" + name + ", password=" + password + ", age=" + age + ", sex=" + sex + "]";
}
}
- 全局配置文件,xxx.xml:
<?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="POOLED">
<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=Userlist"/>
<property name="username" value="sa"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
3.映射文件,xxxMapper.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="MyBatisDemo.UserMapper">
<select id="getUserByUid" resultType="MyBatisDemo.User">
select * from BaUser where uid = #{id}
</select>
</mapper>
4.接口类,UserMapper.java:
package MyBatisDemo;
public interface UserMapper {
User getUserByUid(Integer uid);
}
5.最好测试,TestBa.java:
package MyBatisDemo;
import static org.junit.jupiter.api.Assertions.*;
import java.io.IOException;
import java.io.InputStream;
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 org.junit.jupiter.api.Test;
class TestBa {
@Test
void test() throws IOException {
/*
* Mybatis 读取XML配置文件后会将内容放在一个Configuration类中,SqlSessionFactoryBuilder
* 会读取Configuration类中信息创建SqlSessionFactor,SqlSessionFactory创建SqlSession
*/
InputStream in=Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory=new
SqlSessionFactoryBuilder().build(in);
SqlSession session= sqlSessionFactory.openSession();
UserMapper mapper=session.getMapper(UserMapper.class);
User user=mapper.getUserByUid(1);
System.out.println(user);
}
}
效果---->