2.1 jar包下载地址:https://mvnrepository.com/search?q=mybatis
2.2 jar包下载步骤
同样步骤下载好另外一个jar包。
2.3 将jar包导入项目
(1)先创建一个lib包;
(2)将下载好的jar包放到lib包下
(3)将jar添加到依赖路径中去
3.1 配置文件放的位置(两个位置都可以用,本文使用的“位置1”)
(1)放在“位置1”是java的相对路径,用下面的代码可以读取(这些在后面都有用到)
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");(2)放在“位置2”是绝对路径,用下面代码读取
绝对路径获取方法,看下图
Reader reader = Resources.getUrlAsReader("file:///" +"E:\\ideaWorkSpace\\geohash\\config\\mybatis-config1.xml");//读取绝对路径下的配置文件数据库连接、有户名和密码改成自己的,还有<mapper resource="resources/mapper/TJunctionMapper.xml"/> 中的路径放你自己创建的写sql语句的marpper.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> <typeAliases> <typeAlias alias="TJunction" type="com.cetc.entity.TJunction"></typeAlias> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/geo_hash_data?serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&allowMultiQueries=true"/> <property name="username" value="root"/> <property name="password" value="cetc28"/> </dataSource> </environment> </environments> <mappers> <mapper resource="resources/mapper/TJunctionMapper.xml"/> </mappers> </configuration>对照目录创建好对应文件。
4.1 TJunctionMapper.class内容如下
import com.cetc.entity.TJunction; import java.util.List; import java.util.Map; public interface TJunctionMapper { Long count(); }4.2 TJunctionMapper.xml内容如下(创建方法已经教过了),注意:namespace=" "中放你自己的TJunctionMapper.class相对路径
注意(怕你忘记前面说的):将配置文件中的<mapper resource="resources/mapper/TJunctionMapper.xml"/> 中的路径放你自己创建的写sql语句的marpper.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="com.cetc.mapper.TJunctionMapper"> <select id="count" resultType="long"> select count(1) from test </select> </mapper>5.1 创建DataManagerUtile类
import com.cetc.mapper.TJunctionMapper; 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; import java.util.logging.Logger; public class DataManagerUtile { private SqlSession sqlSession; private TJunctionMapper tJunctionMapper; private Logger logger = Logger.getLogger(""); public DataManagerUtile() { initialConnection(); } public TJunctionMapper gettJunctionMapper() { return tJunctionMapper; } private void initialConnection() { try { // Reader reader = Resources.getResourceAsReader("mybatis-config.xml");//读取相对路径下 的配置文件(就是位置1) Reader reader = Resources.getUrlAsReader("file:///" +"E:\\ideaWorkSpace\\geohash\\config\\mybatis-config1.xml");//读取绝对路径下的配置文件(位置2) // Reader reader = Resources.getUrlAsReader("file:"+ Class.class.getResource("/").getPath().replace('/', '\\')+"mybatis-config.xml");//读取项目相同目录下的配置文件 SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader); sqlSession = ssf.openSession(true); tJunctionMapper = sqlSession.getMapper(TJunctionMapper.class); logger.info("数据库已连接!"); } catch (Exception e) { e.printStackTrace(); } } public void destroyConnection() { sqlSession.close(); logger.info("数据库关闭!"); } }创建一个service类来使用
import com.cetc.entity.TJunction; import com.cetc.utils.DataManagerUtile; import com.cetc.mapper.TJunctionMapper; import java.util.List; import java.util.logging.Logger; public class Service { private Logger logger = Logger.getLogger(""); private DataManagerUtile dataManagerUtile = new DataManagerUtile(); private TJunctionMapper tJunctionMapper = dataManagerUtile.gettJunctionMapper(); public Long count(){ return tJunctionMapper.count(); } public List<TJunction> getList(Long id) { try { return tJunctionMapper.selectList(id); } catch (Exception e) { dataManagerUtile.destroyConnection(); e.printStackTrace(); throw e; } } public void update(List<TJunction> list) { try { int result = tJunctionMapper.update(list); if (result != 0) logger.info("更新[" + list.size() + "]条数据成功!"); else logger.info("更新失败!"); dataManagerUtile.destroyConnection(); } catch (Exception e) { dataManagerUtile.destroyConnection(); e.printStackTrace(); throw e; } } }创建main方法来测试
import com.cetc.manager.Service; public class main { public static void main(String[] args) { Service service = new Service(); System.out.println(service.count()); } }至此,mybatis的配置已结完成,这点东西,写起来还挺费劲。
