mybaits入门学习
学习了简单的mybatis的配置
Bean层:
这个都会很简单
一个完整的Bean 需要getter和setter方法还需要一个空的构造方法和一个满的构造方法。
Dao层:
创建一个接口就ok了
package dao;
import bean.User;
import java.util.List;
public interface IUserDao {
/**
* 查询
* @return
*/
List<User> findAll();
}
关键是xml的配置文件:
SqlMapConfig.xml的配置,配置数据库和映射dao层
<?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="mysql">
<!-- 配置mysql的环境 -->
<environment id="mysql">
<!-- 配置事务的类型 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源连接池 -->
<dataSource type="POOLED">
<!-- -->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/runmybatis?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 指定映射配置文件的位置,映射配置文件的是每个dao独立的配置文件 -->
<mappers>
<mapper resource="dao/IUserDao.xml" />
</mappers>
</configuration>
Dai层对应的,返回类型的出处写好,sql语句写入
<?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="dao.IUserDao">
<!-- SQL语句 -->
<!-- 配置查找-->
<select resultType="bean.User" id="findAll">
select * from user
</select>
</mapper>
这样便可使用了
Test.java:
package test;
import bean.User;
import dao.IUserDao;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.io.Resources;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class Test {
public static void main(String[] args) throws IOException {
//读取配置文件
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//创建SqlSessionFactory工厂
System.out.println(inputStream);
SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
SqlSessionFactory factory =builder.build(inputStream);
//使用工厂生产SqlSession对象
SqlSession session =factory.openSession();
//使用SqlSession创建Dao接口代理对象
IUserDao userDao =session.getMapper(IUserDao.class);
//使用代理对象
List<User> users =userDao.findAll();
System.out.println(users);
for(User user: users)
{
System.out.println(user.toString());
}
//释放资源
session.close();
inputStream.close();
}
}
测试结果
[User{id=1, userName='dada'}, User{id=2, userName='xiaoming'}]
User{id=1, userName='dada'}
User{id=2, userName='xiaoming'}
图片上传不上来
但是也有缺漏,我的log4文件没有配好
浙公网安备 33010602011771号