Idea搭建springboot+maven项目

前端框架这几年势头很猛,jsp不知不觉已经成了老技术,最近研究了下vue,springboot+vue+mybatis轻量级开发是个不错选择。

试着在idea中搭建springboot+maven:

      1、 通过idea搭建还是比较简单的,可以直接选择模型Spring Initializr(eclipse的话可以去spring官网快速搭建boot项目,导入即可),jdk选择1.8

    2、接下来进行Dependencies的选择,我们这里选择了Web中的Starter,SQL中的mysql、jdbc、mybatis。(这些只是提前进行pom文件中的依赖添加,可以创建好项目后按需添加,不必纠结)

 3、项目初步已完成。

    3.1、进入项目后首先进行pom文件的完善与更新。下面是我的pom文件:(maven仓库以及远程仓库等的添加与配置省略)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.6.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.lyf</groupId>
	<artifactId>bootvue</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>bootvue</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.1.0</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.44</version>
			<!--<scope>runtime</scope>-->
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.5</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<!-- spring-boot:run 中文乱码解决 -->
				<configuration>
					<fork>true</fork>
					<!--增加jvm参数-->
					<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
				</configuration>
            </plugin>
			<plugin>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-maven-plugin</artifactId>
			<version>1.3.5</version>
			<dependencies>
				<!--<dependency>
					<groupId>com.Dm</groupId>
					<artifactId>sdk</artifactId>
					<scope>system</scope>
					<version>1.0</version>
					<systemPath>${basedir}/lib/Dm7JdbcDriver16.jar</systemPath>
				</dependency>-->
				<!--<dependency>
					<groupId>com.csii</groupId>
					<artifactId>dm</artifactId>
					<version>1.0</version>
				</dependency>-->
				<dependency>
					<groupId> mysql</groupId>
					<artifactId> mysql-connector-java</artifactId>
					<version> 5.1.39</version>
				</dependency>
				<dependency>
					<groupId>org.mybatis.generator</groupId>
					<artifactId>mybatis-generator-core</artifactId>
					<version>1.3.5</version>
				</dependency>
			</dependencies>
			<executions>
				<execution>
					<id>Generate MyBatis Artifacts</id>
					<phase>package</phase>
					<goals>
						<goal>generate</goal>
					</goals>
				</execution>
			</executions>
			<configuration>
				<!--允许移动生成的文件 -->
				<verbose>true</verbose>
				<!-- 是否覆盖 -->
				<overwrite>true</overwrite>
				<!-- 自动生成的配置 -->
				<configurationFile>
					src/main/resources/generator/mybatis-generator.xml</configurationFile>
			</configuration>
		</plugin>
		</plugins>
		<!--<resources>
			<resource>
				<directory>lib</directory>
				<targetPath>BOOT-INF/lib/</targetPath>
				<includes>
					<include>**/*.jar</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<targetPath>BOOT-INF/classes/</targetPath>
			</resource>
		</resources>-->
	</build>
</project>

      3.2、然后是简单的访问类编写。

@RestController
public class ActoinController {
    @RequestMapping(value = "/here",method = RequestMethod.GET)
    @ResponseBody
    public String In(){
        return "come on";
    }
}

             运行BootvueApplication类等待项目构建完成访问即可。

             如果pom中添加了sql,则需在配置文件中配置驱动,这里采用的是yml写法:

             application.yml:

spring:
  profiles:
    active: dev

            application-dev.yml:

server:
  port : 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/bootvue?useUnicode=true&characterEncoding=utf8&useSSL=false
    #url: jdbc:dm://localhost:5236/bootvue?useUnicode=true&characterEncoding=utf8&useSSL=false
    #username: SYSDBA
    username: root
    password: 12345
    driver-class-name: com.mysql.jdbc.Driver
    #driver-class-name:dm.jdbc.driver.DmDriver
mybatis:
  mapper-locations: classpath:mapper/*Mapper.xml
  type-aliases-package: com.lyf.bootvue.pojo
logging:
  level:
    com:
      example:
        mapper : debug

           如果pom中添加了mybatis,还需进行mybatis的配置:

           mybatis-generator:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <context id="DB2Tables"    targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接地址账号密码-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/bootvue" userId="root" password="12345">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!--生成Model类存放位置-->
        <javaModelGenerator targetPackage="com.lyf.bootvue.pojo" targetProject="src/main/java">
            <property name="user" value="true"/>
         </javaModelGenerator>
        <!--生成映射文件存放位置-->
        <sqlMapGenerator targetPackage="com.lyf.bootvue.mapper" targetProject="src/main/java">
            <property name="userMapper" value="true"/>
        </sqlMapGenerator>
        <!--生成Dao类存放位置-->
        <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
                type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
                type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
                type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
        -->
        <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.lyf.bootvue.dao" targetProject="src/main/java">
            <property name="userDao" value="true"/>
        </javaClientGenerator>
        <!--生成对应表及类名-->
        <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>
</generatorConfiguration>

4、简单的项目初始化已完成。接下来我们进行数据库的深层次交互。

     4.1、首先进行目录的创建与规范化。

        

    这里需要注意以下两个坑:

    (1)切记mapper的xml文件需放在resources中。

    (2)controller中需要使用@RestController注解,@Controller不行  

    其他的就跟SSM框架差不多了,就是springboot对jsp不是很友好。

5、基本上就是这些。接下来附上其他代码方便日后ctrlCV:

    userMapper.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lyf.bootvue.dao.UserMapper">
    <resultMap id="BaseResultMap" type="com.lyf.bootvue.pojo.User">
    <result column="userName" jdbcType="VARCHAR" property="userName" />
    <result column="passWord" jdbcType="VARCHAR" property="passWord" />
   </resultMap>
        <select id="selectUser" resultType="java.util.List">
            select * from user
        </select>
</mapper>

   UserSqlProvider.java:  (此文件在此无用,保留一下)

public class UserSqlProvider {

    public String insertSelective(User record) {
        SQL sql = new SQL();
        sql.INSERT_INTO("user");
        if (record.getUsername() != null) {
            sql.VALUES("username", "#{username,jdbcType=VARCHAR}");
        }
        
        if (record.getPassword() != null) {
            sql.VALUES("password", "#{password,jdbcType=VARCHAR}");
        }
        return sql.toString();
    }
}

   UserMapper.java:

public interface UserMapper {
     List<User> selectUser();
}

  UserService.java:

@Service(value="userService")
public class UserService implements UserMapper{
    private static final Logger LOG = LoggerFactory.getLogger(UserService.class);
    @Autowired
    private UserMapper userMapper;
    @Override
    public List<User> selectUser() {
        return userMapper.selectUser();
    }
}

 UserController.java:

@RestController
@RequestMapping(value="/user")
public class UserController {
  @Autowired
  private UserService userService;
    @RequestMapping(value="/getUser")
    public String getUser(){
        List userList = userService.selectUser();
        return  userList.toString();
    }
}

6、over。

**关于vue的整合下篇。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 创建SpringBoot项目 首先,在IDE中创建一个SpringBoot项目,选择Maven作为构建工具,并在pom文件中添加SpringBoot和mybatis-plus的依赖。 2. 配置数据库连接 在application.properties文件中添加数据库连接信息,包括url、username、password等。 ``` spring.datasource.url=jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 3. 创建实体类和mapper 创建实体类和对应的mapper接口,使用mybatis-plus的注解来简化SQL操作。例如: ```java @Data @TableName("user") // 表名 public class User { @TableId(value = "id", type = IdType.AUTO) // id字段自增 private Long id; @TableField("name") // name字段 private String name; @TableField("age") // age字段 private Integer age; } ``` ```java public interface UserMapper extends BaseMapper<User> { } ``` 4. 编写业务逻辑 根据具体需求编写业务逻辑代码,例如实现对用户的增删改查操作。使用mybatis-plus的CRUD方法来简化操作。 ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public boolean saveUser(User user) { return userMapper.insert(user) > 0; } @Override public boolean updateUser(User user) { return userMapper.updateById(user) > 0; } @Override public boolean deleteUser(Long id) { return userMapper.deleteById(id) > 0; } @Override public User getUserById(Long id) { return userMapper.selectById(id); } @Override public List<User> getUserList() { return userMapper.selectList(null); } } ``` 5. 编写Controller层 编写Controller层代码,处理HTTP请求并调用对应的业务逻辑方法。使用@RestController注解来标注该类是一个REST风格的控制器。 ```java @RestController public class UserController { @Autowired private UserService userService; @PostMapping("/user") public Result saveUser(@RequestBody User user) { boolean result = userService.saveUser(user); return result ? Result.success() : Result.error("保存用户失败"); } @PutMapping("/user") public Result updateUser(@RequestBody User user) { boolean result = userService.updateUser(user); return result ? Result.success() : Result.error("更新用户失败"); } @DeleteMapping("/user/{id}") public Result deleteUser(@PathVariable Long id) { boolean result = userService.deleteUser(id); return result ? Result.success() : Result.error("删除用户失败"); } @GetMapping("/user/{id}") public Result getUserById(@PathVariable Long id) { User user = userService.getUserById(id); return Result.success(user); } @GetMapping("/user") public Result getUserList() { List<User> userList = userService.getUserList(); return Result.success(userList); } } ``` 6. 测试接口 启动SpringBoot应用程序,使用Postman等工具测试接口,确认接口功能正常。 以上便是搭建SpringBoot mybatis-plus项目的基本流程。通过使用mybatis-plus来简化SQL操作,可以极大的提高开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值