一.写一个最基本的mybatis项目,往数据库中存储信息


写一个最基本的mybatis项目,往数据库中存储信息



1.       导入相关的包,其中mybatis-3.2.7.jar和junit-4.9.jar分别是框架包和测试包,其余的包都是mybatis包依赖的包


2.       创建数据库,创建表


3.       创建实体类

4.定义Dao层接口以及实现类

接口:


实现类:



想要使用myBatis往数据库中添加数据,需要sqlSession对象,因为sqlSession对象中封装了增删改查的相关方法。 sqlSession对象由sqlSessionFactory工厂类创建。 sqlSessionFactory工厂类由SqlSessionFactoryBuilder的build方法创建,build方法需要一个inputStream参数,该流应该去读取mybatis.xml

 

现在应该在src根目录下添加mybatis.xml文件

添加mybatis.xml后要进行相关的配置,在没有配置限制(dtd文件限制)的情况下,不知该从何下手,所以应该先引入限定文件,在mybatis的jar包中有两个限定文件,我们都要用到,限定文件目录如下图所示:


 

config结尾的是限制主配置文件的,mapper结尾的是限制存储sql语句的映射文件的

在下载mybatis.jar包时,下载到的文件夹中有参考的pdf文件,打开pdf文件搜索上面两个限制文件的名字,即可得到我们想要的配置到xml文件中的相关信息


把红框内的复制粘贴到我们的mybatis.xml中,按照约束配置mybatis内容如下


1.url: jdbc:mysql://127.0.0.1:3306/test

jdbc:mysql是协议,后面是地址和资源定位符

如果目标地址是在本机且端口号是3306的话可以省略不写地址和端口号,下面的写法和上面的写法效果是一样的:

jdbc:mysql:///test

2.xml中的提示中用逗号隔开的是有前后要求的,如果配置顺序不正确会报错


l         environment可以有很多个,所以要用不同的id进行区分,在environments标签中用default来确定使用哪一个environment

l         default标签用于选择一个环境使用,环境可以配置多个,但是只能使用一个

l          id是该环境的唯一标识,default标签填的是谁的id就调用谁

然后借助mybatis-3-mapper.dtd配置mapper.xml


dao包中新建mapper.xml,限定信息用上面的一样方式获取,编写后如下所示:

namespace是用来解决方法名重复的问题,不加namespace会报错

id就相当于是方法名,paramterType是传入参数的类型,#{}是占位符,在本例中,传入了Student对象,所以下面的占位符要写传入对象的属性

 

mapper.xml要在mybatis.xml中配置才能生效


 


配置完成后,编写dao的实现类


在测试方法中调用insertStu方法


插入成功,第一个myBatis程序完成!




  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot + MyBatis框架下,可以使用以下代码获取另一个moudle下的`application-druid.yml`文件的数据库连接信息: ```java import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.util.StringUtils; import org.yaml.snakeyaml.Yaml; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map; public class DatabaseUtils { public static Map<String, String> getDatabaseProperties() throws IOException { Map<String, String> properties = new HashMap<>(); Resource resource = new ClassPathResource("/application-druid.yml"); InputStream inputStream = resource.getInputStream(); Yaml yaml = new Yaml(); Map<String, Object> yamlMap = yaml.load(inputStream); Map<String, Object> datasourceMap = (Map<String, Object>) yamlMap.get("spring.datasource"); if (datasourceMap != null) { String url = (String) datasourceMap.get("url"); String username = (String) datasourceMap.get("username"); String password = (String) datasourceMap.get("password"); if (!StringUtils.isEmpty(url)) { properties.put("url", url); } if (!StringUtils.isEmpty(username)) { properties.put("username", username); } if (!StringUtils.isEmpty(password)) { properties.put("password", password); } } return properties; } } ``` 上述代码,`ClassPathResource`用于获取`application-druid.yml`文件的输入流,然后使用`Yaml`库解析该文件,并将解析出来的数据库连接信息存储一个`Map`返回。在调用该方法时,只需要在调用方引入该工具类,并调用`getDatabaseProperties`方法即可。 需要注意的是,如果`application-druid.yml`文件位于另一个module,需要将该module加入到当前项目的依赖,否则编译时会找不到该文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值