目录结构如下
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>
<settings>
<!-- changes from the defaults for testing -->
<setting name="cacheEnabled" value="false" />
<setting name="useGeneratedKeys" value="true" />
<setting name="defaultExecutorType" value="REUSE" />
</settings>
<environments default="development">
<environment id="development">
<transactionManager type="jdbc" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://127.0.0.0/test?autoReconnect=true&autoReconnectForPools=true&useUncode=true&characterEncoding=utf8" />
<property name="username" value="root" />
<property name="password" value="*****" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/tarena/Demo/dao/QuestionDao.xml"/>
</mappers>
</configuration>
questionDao.xml('<![CDATA[ ]]>'是为了解决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">
<mapper namespace="com.tarena.Demo.dao.QuestionDao">
<select id="getQuestion" resultType="com.tarena.Demo.model.Question">
<![CDATA[
SELECT id,title,level,questionType,answer,depict,A,B,C,D
FROM `qw_question`
]]>
</select>
</mapper>
questionDao.java
public interface QuestionDao {
public List<Question> getQuestion();
}
questionService.java
package com.tarena.Demo.service;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
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 util.ToExcel;
import com.tarena.Demo.dao.QuestionDao;
import com.tarena.Demo.model.Question;
public class QuestionService {
public static String resource = "mybatis-config.xml";
public static Reader reader = null;
public static SqlSessionFactory factory = null;
public static SqlSession session = null;
public static void open() {
try {
// 读取配置文件
reader = Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
// 创建SqlSessionFactory
factory = builder.build(reader);
session = factory.openSession();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void close() {
session.commit();
session.close();
}
public static void getQuestion(){
open();
QuestionDao dao = session.getMapper(QuestionDao.class);
List<Question> li=dao.getQuestion();
System.out.println(li.size());
close();
}
}
mainTest.java
public class MainTest {
public static void main(String[] args) {
QuestionService qs=new QuestionService();
qs.getErrorQuestion();
}
}