首先,先说一下写这个入门程序的需求与开发步骤:
- 需求:使用Mybatis从数据库中查询出数据。
- 开发步骤:
- 准备MySQL数据库,创建表结构添加一些数据
- 创建Java工程,导入开发用的jar包
- 编写实体类,和表结构对应,用来进行数据的封装
- 编写映射配置文件(其中包括数据库连接信息),加载映射配置文件
- 编写入门的代码
那前三步就不说了有一些基础就可以办到
在写配置文件的时候,主要编写两种配置文件,第一种为主配置文件,管理其他和接口对应的配置文件。
在编写主配置文件时,主要有两点:
- 配置环境们(需要设置默认环境)
<environments default=\"mysql\">
- 配置具体环境
<environment id=\"mysql\">
- 配置事务类型
<!--配置事务的类型,使用本地事务的策略--> <transactionManager type=\"JDBC\"></transactionManager>
- 配置是否使用数据库连接池
<!--是否要使用连接池,内置的连接池--> <dataSource type=\"POOLED\"> <property name=\"driver\" value=\"com.mysql.jdbc.Driver\" /> <property name=\"url\" value=\"jdbc:mysql:///mybatis_01\" /> <property name=\"username\" value=\"root\" /> <property name=\"password\" value=\"root\" /> </dataSource>
- 引入映射配置文件
<mappers> <mapper resource=\"mappers/UserMapper.xml\" /> <mapper resource=\"mappers/AccountMapper.xml\"/> </mappers>
- 配置事务类型
在编写映射配置文件的时候,文件名与Mapper接口(也可以说是Dao接口为持久层接口)名要一致(算是一种规范).通过命名空间来找到对应Mapper。
其对应id为其对应的方法,resultType为返回值类型。
mapper.xml的规范
在mapper标签中添加命名空间
在select标签内写对应的select语句
|
最后进行测试:
- 加载主配置文件(resources)
InputStream inputStream= null; SqlSession session = null; AccountMapper accountMapper = null; UserMappper userMappper =null; //@Before注释是将被注释的代码放在最前面执行 @Before public void init() throws IOException { inputStream= Resources.getResourceAsStream(\"SqlMapConfig.xml\"); //创建新的会话工厂 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream); //获取会话 session = factory.openSession(); //获取相应的代理对象 // accountMapper = session.getMapper(AccountMapper.class); userMappper = session.getMapper(UserMappper.class); } //@After注释是将被注释的代码放在最后执行进行收尾工作 @After public void destory() throws IOException { session.close(); inputStream.close(); }
- 创建会话工厂(sqlsessionFactory)
- 通过工厂获取(sqlsession)
- 获取代理对象进行操作
@Test public void test(){ //具体执行的操作 List<Account> accounts = accountMapper.findAll(); for (Account account : accounts) { System.out.println(account); } }
来源:https://www.cnblogs.com/long-java/p/16314377.html
本站部分图文来源于网络,如有侵权请联系删除。