下一篇:MyBatis知识点复习-02其他入门操作
所需要的包全在里面:
链接:https://pan.baidu.com/s/1P2v4hL7JBeYDk-BPlc_bzw
提取码:jec7
将包全部导入(注意右键lib目录点击add as library)
sql表:
链接:https://pan.baidu.com/s/141vXclKZEnDTGJk_KeC6FQ
提取码:4oka
javaBean
链接:https://pan.baidu.com/s/1QQtqd9ovnvrsQ0v7n89EBg
提取码:g3qf
接下来在src目录下创建SqlMapConfig.xml和log4j配置文件(我取名为log4j.properties),内容如下
SqlMapConfig.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>
<!-- 配置mybatis的环境信息 -->
<environments default="development">
<environment id="development">
<!-- 配置JDBC事务控制,由mybatis进行管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源,采用dbcp连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis复习"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
</configuration>
这里要强调一下就是上面的那个url的值jdbc:mysql://localhost:3306/mybatis复习里面的斜杠必须是反斜杠不可以是正斜杠,否则会报错 No suitable driver found for jdbc:mysql:/localhost:3306/mybatis复习
log4j.properties
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
上面的内容没有必要去记忆,只要理解其中关键的部分会灵活修改即可
前面的SqlMapConfig是一个全局的配置文件,若想对某一个特定的Bean对象的对应表(一个Bean对象对应一个表)进行CRUD还需要一个映射配置文件
下面我们对USER表来操作:
创基在src目录下创建sqlMap目录,然后创建User的映射配置文件User.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="sknalksa">
</mapper>
上面的namespace是我随便写的这个参数不可以少,但是你可以随便写
下面我们实现查询,就需要在mapper标签里面加上下面的内容
<select id="findUserById" parameterType="int" resultType="domain.User">
select * from user where id = #{
id}
</select>
上面#{id}其实里面可以不写id,写什么都可以,findUserById是对应的方法,当然在这个案例中这个方法不由我们实际创建,有mybatis框架实现
下面来写个测试类(这个你可以随便起个名字),内容如下:
package test;
import domain.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.InputStream;
public class TestUser {
@Test
public void Test(){
//读取全局配置文件
InputStream resourceAsStream = TestUser.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml");
//获取工厂对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory build = sqlSessionFactoryBuilder.build(resourceAsStream);
SqlSession sqlSession = build.openSession();
User findUserById = (User)sqlSession.selectOne("findUserById", 10);
System.out.println(findUserById);
//关闭SqlSession
sqlSession.close();
}
}