第一步:导包
第二步:编写Mybatis工具类、实体类、接口
Mybatis工具类,获取SqlSession数据库操作对象
public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { try { //核心配置文件 String resource="mybatis-config.xml"; //读取 InputStream in = Resources.getResourceAsStream(resource); //创建工厂实例 sqlSessionFactory =new SqlSessionFactoryBuilder().build(in); } catch (IOException e) { e.printStackTrace(); } } //获取sqlsession对象 public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(true);//true设置自动提交事务 }}
实体类
@Data@NoArgsConstructor@AllArgsConstructor@ToStringpublic class User { private Integer id; private String uName; private Integer uAge; private String uGender; private String uPwd;}
接口
public interface UserMapper { //获取所有的用户对象 public List
第三步:配置*Mapper.xml文件(相当于接口实现类)
<?xml version="1.0" encoding="UTF-8" ?>
第四步:配置Mybtis核心配置文件
mybtis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
数据源配置文件 db.properties
driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&charterEncoding=utf-8username=rootpassword=www123
第五步:测试
public class UserDaoTest { static Logger logger = Logger.getLogger(UserDaoTest.class); @Test public void test(){ logger.info("log4j:单个查询开始。。。"); //获取SqlSession对象 SqlSession sqlSession = MybatisUtils.getSqlSession(); //获取对应接口的对象 UserMapper mapper = sqlSession.getMapper(UserMapper.class); //通过接口对象执行自定义sql语句 User user =mapper.getUser(1); System.out.println(user); //关闭sqlsesion对象 sqlSession.close(); }}
注:配置log4j日志,需要导入依赖,以及日志输出配置文件(log4j.properties)
#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码log4j.rootLogger=DEBUG,console,file#控制台输出的相关设置log4j.appender.console = org.apache.log4j.ConsoleAppenderlog4j.appender.console.Target = System.outlog4j.appender.console.Threshold=DEBUGlog4j.appender.console.layout = org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=【%c】-%m%n#文件输出的相关设置log4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File=./log/kuang.loglog4j.appender.file.MaxFileSize=10mblog4j.appender.file.Threshold=DEBUGlog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=【%p】【%d{yy-MM-dd}】【%c】%m%n#日志输出级别log4j.logger.org.mybatis=DEBUGlog4j.logger.java.sql=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.ResultSet=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG
Mybtis使用注解开发(不需要配置*Mapper.xml文件)直接在接口使用注解写sql语句
public interface userDao {//使用注解开发 //使用注解开发数据库字段和实体类的属性名建议保持一致 @Select("select * from mybatis.user") List
<?xml version="1.0" encoding="UTF-8" ?>
与原来不一样的地方是在mybatis-config.xml中注册*Mapper.xml改为注册接口