Mybatis-Helloword 谁践踏了优雅 2022-10-06 00:41 122阅读 0赞 ### 文章目录 ### * * 环境搭建 * 导包 * 写配置 * * 全局配置文件 * dao接口的实现文件 * 测试 ## 环境搭建 ## package com.jh.bean; public class Employee { private Integer id; private String empName; private String email; private String gender; package com.jh.dao; import com.jh.bean.Employee; public interface EmployeeDao { //按照员工id查询员工 public Employee getEmpByid(Integer id); } ## 导包 ## ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2NjcyNzQ2_size_16_color_FFFFFF_t_70] ## 写配置 ## ### 全局配置文件 ### 指导mybatis如何正确运行,比如,连接向哪个数据库 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2NjcyNzQ2_size_16_color_FFFFFF_t_70 1] <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://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="12345"/> </dataSource> </environment> </environments> ### dao接口的实现文件 ### 编写每个方法都是如何向数据库发送sql语句的,如何执行。。。 <!-- namespace,名称空间:写接口的全类名,相当于告诉Mybatis这个配置文件是实现哪个接口的 --> <mapper namespace="com.jh.dao.EmployeeDao"> <!-- public Employee getEmpByid(Integer id); --> <!-- select,用来定义一个查询操作 id:方法名,相当于这个配置是对某个方法的实现 resultType:指定方法运行后的返回值类型(查询操作必须指定的) #{属性名}:代表取出传递过来的某个参数的值 --> <select id="getEmpByid" resultType="com.jh.bean.Employee"> select * from t_employee where id = #{id} </select> </mapper> ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2NjcyNzQ2_size_16_color_FFFFFF_t_70 2] 我们写的dao接口的实现文件,mybatis默认是不知道的,需要在全局配置文件中注册 <!-- 引入自己编写的每一个接口的实现文件 --> <mappers> <!--resource 表示从类路径下找资源 --> <mapper resource="EmployeeDao.xml"/> </mappers> 注意: ![在这里插入图片描述][20210610113833722.png] ## 测试 ## @Test public void test() throws IOException{ /*1.根据全局配置文件创建出一个sqlSessionFactory * sqlSessionFactory:是sqlSession工厂,负责创建sqlSession对象; * sqlSession:sql会话(和数据库的一次会话) */ String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //4.调用之前的方法 Employee employee; //2.获取和数据库的一次会话 SqlSession openSession = sqlSessionFactory.openSession(); try { //3.使用sqlSession操作数据库,获取dao接口的实现 EmployeeDao employeeDao = openSession.getMapper(EmployeeDao.class); employee = employeeDao.getEmpByid(1); } finally{ openSession.close(); } System.out.println(employee); } [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2NjcyNzQ2_size_16_color_FFFFFF_t_70]: /images/20221005/d2501649b923454ea6dad608351a43ea.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2NjcyNzQ2_size_16_color_FFFFFF_t_70 1]: /images/20221005/32060f08b4f94ab78fa53edcdcea2543.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2NjcyNzQ2_size_16_color_FFFFFF_t_70 2]: /images/20221005/cec9c7acfe4e42629b349aff74149125.png [20210610113833722.png]: /images/20221005/35ae1e916d7c4f4c849ad831f370cebb.png
还没有评论,来说两句吧...