1.在testcase项目下,创建一个模块所在功能模块命名的包,在包下面创建一个接口类。
2.添加注释、使用springBoot注入,添加@SpringBootTest注入,组件注入@Component,让SpringBootTest管理Component。还可以添加自定义的注解。类下面添加resource的注入,用来创建对象。编写类名,继承基础类。使用@Resource注解来调用接口创建对象,即加了Resource注解后,就会自动找到下面创建的对象所在的接口并进行调用(会在当前类进行实例化的对象,不需要用@Resource来注解,否则反而会报错)。
3.创建测试返回为void空的测试类,在测试类上方使用@Test注解,里面可添加描述。按住ctrl,鼠标点击对应的注解标签,就能打开注解类,可以看到各种用法。创建请求参数的对象,如param= RequestParam.newInstance(); RequestParam是一个封装好的类,里面是各种接口请求参数的获取方法。给param添加所需的参数,如host(在config包下创建各个环境的host类并用以调用)、uri、bodyParam或jsonparam等,根据接口不同进行添加。
4.创建response对象,并保存执行HttpUtils.excute(param)的结果到对象的变量中。
5.添加Assert方法进行返回消息或code的比较。
6.数据库操作:
在接口项目itf的service包下面创建调用数据库的接口类,类名为表名+Service。里面主要定义参数类型 参数获得的方法名,方法所具备的参数类型和参数名,参数名为数据表里存在的字段名,如int updateNum(String active,Integer id); active和id都为数据表里的字段名。在接口项目itf的service包的impl包下,创建数据库表对象类implements UserService。在类前使用@Service注解,在类里使用@Resource注解,并创建所需要的数据表对象。 例如private UserRepository userRepository; 下方添加重写方法,使用接口类中的参数进行返回操作。
如@Override
public int updateNum(String active,Integer id){
return userRepository.updateNum(active,id);
}


在entity项目的库名的包下,创建一个表名类,使用@Entity和@Table(name="表名")注解,对表里的字段名进行变量私有化。其中主键需要@主键名(首字母大写)和@GeneratedValue进行注解,其他的根据字段实际格式进行数据类型的声明。例如private Long id;当有的字段名存在下划线,可以用@Column(name="city_id")实际变量名注入,加修改后的变量private int cityId;进行字段名的替换。下方再通过get和set方法声明字段对应的存入或取出操作,进行封装。


在entity,testing,config包下面,创建数据库配置文件,类名为库名+Data+Config。在类上方进行三个注入@Configuration
@EnableTransactionManagement
@EnableJpaRepositories可在括号中带对应参数。
在类下方进行
@Bean("vpgameDataSource")
@Primary
@ConfigurationProperties(prefix = "spring.datasource.vpgame")
不详细展开,还需要时间理解


在reting,repository,库名的包下,创建表名+Repository类,extends JpaRepository<User, Long>, JpaSpecificationExecutor<User>。在里面进行sql语句的定义。查询操作,需要带@Query注解。更新操作需要再带@Transactional和@Modifying(clearAutomatically=true)注解。sql语句写在query后的括号中。如(value ="select name from vp_user where id=?1",nativeQuery = true ),下方需声明参数类型 及变量名 变量名在数据表中的类型和字段名 例如String findById(long id); ?1表示的是取变量中声明的第一个字段名的值,?2则表示取变量中声明的第二个字段名的值。

在测试类中实现对sql的调用,如String sqlUserDatas = userService.findById(73905047);
网友评论