Mybatis读取数据实战
2024-09-03 11:47:34
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>
<!--别名-->
<!-- 使用别名代替全限定名 -->
<typeAliases>
<typeAlias type="model.User" alias="user"/>
</typeAliases>
<!-- 数据库环境 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!--在xml中 &=&-->
<property name="url" value="jdbc:mysql://localhost:3306/office?useSSL=false&serverTimezone=Hongkong"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 映射文件 -->
<mappers>
<!-- 映射文件存放的位置 -->
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
2.得到SqlSessionFactory
import java.io.IOException;
import java.io.InputStream; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class SqlSessionFactorytest {
//定义参数
public static SqlSessionFactory sqlSessionFactory=null;
//定义配置文件
public static String resource="mybatis-config.xml";
public static InputStream inputStream;
//构建SesseionFactory
public static SqlSessionFactory getSqlSessionFactoryBuider() {
try {
//读取配置文件
inputStream=Resources.getResourceAsStream(resource);
System.out.println("配置文件加载成功!!");
//SqlSessionFactoryBuilder通过输入流的相关配置得到sqlSessionFactory
}catch(IOException e) {
e.printStackTrace();
}
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
System.out.println("sqlSessionFactory创造成功!!");
return sqlSessionFactory; }
}
3.数据层开发标准
public interface UserDao {
public List<User> getAllUser();//得到所有的用户
}
4.用XML实现映射器
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.UserDao">
<select id="getAllUser" resultType="User">
select * from user
</select>
</mapper>
5.得到SqlSession
import java.util.List; import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory; import dao.UserDao;
import model.User;
import utils.SqlSessionFactorytest; public class test {
public static void main(String[] args) {
SqlSessionFactory sqlSessionFactory=SqlSessionFactorytest.getSqlSessionFactoryBuider();
SqlSession sqlSession=sqlSessionFactory.openSession();
System.out.println("SqlSession创造成功!!");
//用SqlSession得到Mapper接口
UserDao userDao=sqlSession.getMapper(UserDao.class);
List<User> user=userDao.getAllUser();
if(user!=null) {
System.out.println("数据读取成功!!");
}
for(int x=0;x<user.size();x++) {
User u=user.get(x);
System.out.println(u.getId());
System.out.println(u.getUsername());
System.out.println(u.getPassword());
}
}
}
最新文章
- 安装AdventureWorks2008R2
- 当select框变化时 获取select框中被选中的值
- cinder ha
- Swift实战-豆瓣电台(七)显示动画
- Hbase的安装(hadoop-2.6.0,hbase1.0)
- 基于NPOI的Execl导入导出例子
- [上传下载] C# ImageUpload图片上传类教程与源码下载 (转载)
- Java Calendar 计算时间差
- MYSQL 中 LIMIT 用法
- 【转载备忘】PowerDesigner16.5基本使用
- SQL进阶随笔--case用法(二)
- Java中class的getName()和getCanonicalName()两个方法的区别
- java十进制转三十六进制
- 利用SVD-推荐未尝过的菜肴2
- python itertools 模块讲解
- 使用FreeSWITCH做电话自动回访设置
- iOS - 极光推送证书的创建及过期处理
- 自制 Chrome Custom.css 设置网页字体为微软雅黑扩展
- Gold Rush(hnu13249)
- 002.MMM高可用MySQL简介