1,建立数据库和数据表
2,建立数据表想对应的封装类(最好重写TOString方法)
3,导入各种安装包
4,创建sqlMapConfig.xml配置文件:
一,头文件:
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD COnfig 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
二,配置文件的根元素:
①:环境:环境变量的配置<environments default="development">
②:环境变量:可以配置多个环境变量
<environment id="development">
使用JDBC链接事物<transactionManager type="JDBC"/>
数据库连接池<dataSource type="POOLED">
配置驱动:<property name="driver" value="com.mysql.jdbc.Driver"/>
配置url:<property name="url" value="jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8"/>
配置帐户名:<property name="username" value="root"/>
配置密码:<property name="password" value="root"/>
</dataSource>
</environment>
</environment>
三,配置mapper位置:
<!-- 扫描指定的包,别名就是类名 -->
<!-- <package name=""/> -->
<!--手动配置mapper的时候,如果选择resource就按下面的方式写,如果选class就比较复杂了,url则是要绝对路径 -->
<mapper resource="mapper/mapper1.xml"/>
</mappers>
测试类中如何调用
创建SqlSessionFactoryBudlier
加载sqlmapconfig.xml
创建创建sqlSessionFactory
创建session
执行sqlsession对象
提交事务
释放资源
import java.io.InputStream;
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 org.junit.Before;
import org.junit.Test;
import com.pojo.User;
public class testmapper {
@Test
public void testQueryUserById() throws Exception {
SqlSessionFactory sqlSessionFactory = null;
// 1. 创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 2. 加载SqlMapConfig.xml配置文件
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
// 3. 创建SqlSessionFactory对象
sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
// 4. 创建SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
User u=new User();
u.setAge(18);
u.setName("三");
u.setSex("男");
// 5. 执行SqlSession对象执行查询,获取结果User
// 第一个参数是User.xml的statement的id,第二个参数是执行sql需要的参数;
int i=sqlSession.insert("insertUser",u);
sqlSession.commit();
// 6. 打印结果
System.out.println(i);
// 7. 释放资源
sqlSession.close();
}
}
mapper动态开发
属性:定义配置的外在化<properties></properties>
设置:定义一个mybatis的全局属性<settings>
1,设置具体的参数值和参数名<setting name="" value="/>
遵循四个原则
1,Mapper中的命名空间要和接口的路径一样
2,方法名和user.xml中的id一致
3,方法的入参类型要和Mapper.xml中的入参类型一致
4,方法的返回值类型要和Mapper的返回值类型一致
特别
'%S{value}%'代表字符拼接
#{}表示占位符含义就是一对单引号
${}表示占位符不带单引号