Mybatis入门程序
一、资源的准备
1、mybatis的jar包
通过访问mybatis的官网下载相关的jar包。
mybatis官网
2、mysql连接的jar包
可以根据自己的版本导入合适的jar包
二、创建项目
1、创建普通的java项目,导入好准备好的jar包
项目的目录结构如下:
2、数据库的创建表(这里直接用图形化界面建立表)
三、编写代码
1、创建实体类(由于没用用到HashMap,所以还是将实体类中的属性名与表的列明一致)
package com.kyg.entity;
public class Student {
private int id;
private String name;
private int age;
private int sex;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
}
2、创建mybatis的配置文件config.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"/>
<!--上面这些代码都可以在mybatis官网找到,只需要填写下面这些-->
<dataSource type="POOLED">
<!--这是的value填写相应的jdbc驱动,这是mysql的-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!--这是填写连接数据库的url-->
<property name="url" value="jdbc:mysql://localhost:3306/user?serverTimezone=GMT%2B8"/>
<!--下面是数据的名字和密码-->
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>
<!--mapper中些映射文件的全限定类名,一定要写清楚,建议复制-->
<mappers>
<mapper resource="com/kyg/entity/StudentMapper.xml"/>
</mappers>
</configuration>
3、创建映射文件StudentMapper.xml(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">
<!--这里的namespace填写这个文件的全限定类名,作为后面寻找到sql语句的映射地址-->
<mapper namespace="com/kyg/entity/StudentMapper.xml">
<!--<select>标签就是增查改删中的查,还有其他类似标签,id是这个标签的标志,resultType是返回值,这里返回的是实体类对象
所以写实体类全限定类名,parameterType是传入值的类型-->
<select id="query" resultType="com.kyg.entity.Student" parameterType="int">
select * from student where id=#{id}
</select>
</mapper>
4、创建测试类
```java
package com.kyg.entity;
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 java.io.Reader;
public class test {
public static void main(String[] args)throws Exception {
//通过 Resources类加载配置文件,也要写全限定类名
Reader reader = Resources.getResourceAsReader("com/kyg/entity/config.xml");
//获得工厂类SqlSessionFactory创建出SqlSession对象
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
//相当于原始的jdbc获取connetion
SqlSession session =sqlSessionFactory.openSession();
//获取映射文件中的sql语句
String statement="com/kyg/entity/StudentMapper.xml.query";
//这里选择最简单的session.selectOne()方法,查出数据库的id为1的数据,返回一个实体类对象
Student student=session.selectOne(statement,1);
//打印出查出的实体类对的名字,验证是否正确,正确应打印出li
System.out.println(student.getName());
}
}
5、打印出结果
四、小结
写这个入门程序的时候,一定要注意文件和对象的位置一定要写清楚,记得写全限定类名。程序很简单,由于只是入门,可以不必纠结太多细节,写好关键的代码,对比mybatis和原始的jdbc连接数据库dao层的编写,理解mybatis框架的优点和大致的过程。作者水平有限,望大家多指教!