1.mysql创建一个数据表
数据库下载安装不在这里叙述,需要可以参考[数据安装](https://www.runoob.com/mysql/mysql-install.html)。打开管理工具,创建数据库连接,新建数据库,数据库名为text01,在text01数据库下面创建一个数据表,名为Persons,创建数据表代码为
CREATE TABLE Persons(
LastName VARCHAR(25) ,
Sex VARCHAR(25),
Address VARCHAR(25),
City VARCHAR(25),
Age INT
)
2.在eclipse创建一个相应的类,用来映射
创建完数据库,数据表,在开发工具eclipse中创建相应的项目为MyBatisTest,创建映射类(javabean),创建代码如下`## 标题
package cn.rixati.mapper;
public class PersonMapper {
private String LastName;
private String Sex;
private String Address;
private String City;
private int Age;
public String getLastName() {
return LastName;
}
public void setLastName(String lastName) {
LastName = lastName;
}
public String getSex() {
return Sex;
}
public void setSex(String sex) {
Sex = sex;
}
public String getAddress() {
return Address;
}
public void setAddress(String address) {
Address = address;
}
public String getCity() {
return City;
}
public void setCity(String city) {
City = city;
}
public int getAge() {
return Age;
}
public void setAge(int age) {
Age = age;
}
@Override
public String toString() {
return "PersonMapper [LastName=" + LastName + ", Sex=" + Sex + ", Address=" + Address + ", City=" + City
+ ", Age=" + Age + "]";
}
}
3.导入mybatis和数据库连接用的jar
导入mybatis的jar包,可以在jar包查询地址网址进行查询,选择org.mybatis(第一个)下载到本地
选择项目,点击右键创建新的文件lib问,存放外部jar,把刚才下在的mybatis的jar包导入到lib文件下,可以直接拖入,也可以复制粘贴,如下
选择jar包,点击右键,导入到Bulid Path,导入成功后可以在configer Build Path里可以查看到导入的jar包
mysql数据库连接用的jar包为mysql-connector,导入方法与mybatis包的导入方式一样。
4.配置全局变量和sql的查询语句
导入完jar包,创建全局配置文件,用来跟数据库建立连接,文件内有跟数据库连接的配置数据,在项目下创建configer文件,在configer文件下创建两个配置文件,可以点击右键,选择new–>other再选择XML文件创建,如下
在mybatis.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.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ text01?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="asd8520"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="personMapper.xml"/>
</mappers>
</configuration>
在personMapper.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="cn.rixati.mybatis.mapper.UserMapper">
<select id="getUserByAge" resultType="cn.rixati.mapper.PersonMapper">
select * from persons where Age = #{age}
</select>
</mapper>
5 .创建测试类,创建factory,sesstion对象,调用查询语句进行测试
方法1:personMapper.xml的namespace可以自行命名,id可以自行编辑, resultType是查询完,包装的类,也就是我们第二步自己创建的javabean,把这个类的全名(打开类,选择类名,点击右键,点击copy Qualifid Name可以方便的复制)写在值里,如上面的代码。
创建测试类,PersonTest,里边写入,如下代码
String resource ="mybatis.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession openSesstion=sqlSessionFactory.openSession();
PersonMapper person01=openSesstion.selectOne("cn.rixati.mybatis.mapper.UserMapper.getUserByAge", 18);
System.out.println(user.toString());
System.out.println("成功运行完");
方法二:用接口来调用,实现查询,就不需要传入查询语句的id
创建一个SelectMapper接口,定义查询方法,如下
package cn.rixati.mybatis.mapper;
import mybatisetest1.user01;
public interface UserMapper {
public user01 getUserByAge(Integer age);
}
personMapper.xml文件里namespace指定为接口全类名,id改为接口中方法的名字来绑定接口与配置文件,测试代码如下
String resource ="mybatis.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession openSesstion=sqlSessionFactory.openSession();
UserMapper mapper=openSesstion.getMapper(UserMapper.class);
user01 user=mapper.getUserByAge(12);
System.out.println(user.toString());